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
SQL Server,5

 

 当然,也足以把这些结果导入到一个真正存在的表,一时表或是表变量中。相应实例能够查阅上边链接:
SQL
Server怎么样使用表变量

SQL定义本人定义表类型
SQL循环二4个字母插入到1个表中

 

相关文章