加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer如何在批量插入后,获取批量插入的自增列的值

发布时间:2020-12-12 14:18:38 所属栏目:MsSql教程 来源:网络整理
导读:解决方法如下: Use the OUTPUT functionality to grab all the INSERTED Id back into a table. 使用output 功能获取所有插入的id,然后插入一个表中 注:如果不想用批量插入id做关联的其他业务逻辑,而只是简单的返回给前台,那么可以直接使用output功能返

解决方法如下:

Use the OUTPUT functionality to grab all the INSERTED Id back into a table.

使用output 功能获取所有插入的id,然后插入一个表中

注:如果不想用批量插入id做关联的其他业务逻辑,而只是简单的返回给前台,那么可以直接使用output功能返回这些id,不需要插入表。

DECLARE @tmpTable TABLE (
	Iden INT IDENTITY(1,1),ColumnName VARCHAR(100)	
)
 
INSERT INTO @tmpTable(ColumnName)
OUTPUT INSERTED.Iden
SELECT TOP 10 
   sysobjects.name
FROM sysobjects
 
SELECT *
FROM @tmpTable

如果想收集插入的所有id,那么可以把output的数据插入到一个表变量中,如下代码:

DECLARE @tmpTable TABLE (
	Iden INT IDENTITY(1,ColumnName VARCHAR(100)	
)
 
DECLARE @batchInsertedIds TABLE (
	ID INT	
)
 
INSERT INTO @tmpTable(ColumnName)
OUTPUT INSERTED.Iden INTO @batchInsertedIds(ID)
SELECT TOP 10 
   sysobjects.name
FROM sysobjects
 
SELECT *
FROM @batchInsertedIds
 
SELECT *
FROM @tmpTable

  

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读