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
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |