1

select ステートメントから一括挿入を実行しようとしていますが、Table2 の ID を Table1 に保存したい場合もありますが、Table2 にデータがない場合に Table の ID を自動的に生成したい場合もあります。これは達成されるでしょうか?

 INSERT INTO Table (ID,Name) 
 SELECT 
  CASE WHEN Col1 IS NOT NULL THEN Col1 ELSE @@identity END ID,
  Col2 Name,
 FROM Table2

これは可能ですか、それとも 2 つの別々の一括インポート プロセスを実行する必要がありますか?

4

1 に答える 1

1

はい、2 つの一括挿入が必要です。

SET IDENTITY_INSERT Table ON

INSERT INTO Table (ID,Name) 
SELECT 
Col1
Col2 Name
FROM Table2
WHERE Col1 IS NOT NULL

SET IDENTITY_INSERT Table OFF

INSERT INTO Table (Name) 
SELECT 
Col2 Name
FROM Table2
WHERE Col1 IS NULL
于 2013-03-27T23:11:19.567 に答える