1

我正在尝试从select语句中进行批量插入,但有时我想将Table2中的Identity保存到Table1中,但有时我希望Table2中没有数据时自动生成Table中的Identity,那么如何这会实现吗?

 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

是的,您需要两个批量插入:

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 回答