IDのない主キーを使用して行をテーブルに「バッチ」挿入する必要があるクエリがあります。
--TableA
--PK int (Primary key, no-identity)
--CustNo int
INSERT INTO TableA (PK,CustNo)
SELECT (SELECT MAX(PK)+1 AS PK FROM TableA), CustNo
FROM Customers
(簡略化された例-同時実行の問題についてコメントしないでください:-))
問題は、処理された行ごとにPKがインクリメントされず、主キー違反が発生することです。
カーソル/whileループでそれを行う方法を知っていますが、それを避け、可能であれば、セットベースの方法で解決したいと思いますか?
(SQL Server 2008 Standardの実行)