1.SQL:批量插入数据时,如何获得自增的ID
使用情形,当使用insert into A select * from B语句时,如何A的关键字是自增的,要想获得插入输入后,其Id的值,设该自增的Id字段名为TestId ,可以有以下的方式获得:
--******************************** declare a temp table to save the inserted TestId ************
DECLARE @tbl_ID TABLE ([id] [int] IDENTITY(1,1) NOT NULL, TestId INT ) ;
--************************* insert the compared diff data to tbl_Kem ************************************
insert into A OUTPUT INSERTED.TestId INTO @tbl_ID
Select * from B
临时表@tbl_ID里TestId字段就是插入后,自增KEY的集合。
2. 如何用一个表a的某个字段去更新一个表b的某个字段(当它们的某个关键字相等的时候),相当于Exists的用法
update test set columnUpdate= a.columnUpdate from test1 a, test b
where a.id= b.id