SQL Server什么获取批量插的IDENTITY号码

 SQL Server,可以行使SCOPE_IDENTITY方法赢得最后一画记录的Identity号码,但是若想获得批量栽的IDENTITY号码,那得想些

这个SCOPE_IDENTITY就稍微困难了,只有把inserted虚拟表导入到一个实打实存在的发明,临时表或是表变量中,方可解决问题。

 

下面代码,是return最后一画的IDENTITY号码,

INSERT INTO dbo.Member VALUES(‘Maik’,’1′,’22’,”,’2600′)
SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY]

 

 如果想同一不好又插入多画记录,它return还是最后一个identity号码,

INSERT INTO dbo.Member VALUES(‘Maik’,’1′,’22’,”,’2600′),(‘Jack’,’1′,”,”,’2800′),(‘BaLa’,’1′,”,”,’3000′)
SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY]

 

化解之艺术,可以采取OUTPUT功能,

INSERT INTO [dbo].[Member] OUTPUT inserted.[MemberId]   
VALUES (‘Maik’,’1′,’22’,”,’2600′),(‘Jack’,’1′,”,”,’2800′),(‘BaLa’,’1′,”,”,’3000′);

 

 执行结果,

MemberId

3
4
5

 

 当然,也得以将此结果导入到一个实事求是是的阐发,临时表或是表变量中。相应实例可以查阅下链接:
SQL
Server如何使用表变量
SQL定义自己定义表类型
SQL循环26个假名插入到一个表中

 

相关文章