SQLServer如何在批量插入后,获取批量插入的自增列的值
解决方法如下:
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,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

SQLServer如何在批量插入后,获取批量插入的自增列的值的更多相关文章
- SQLSERVER 自增列,值突然增大1000
SQLSERVER 自增列,值突然增大1000https://blog.csdn.net/lichxi1002/article/details/40074247
- mybatis如何成功插入后获取自增长的id
使用mybatis向数据库中插入一条记录,如何获取成功插入记录的自增长id呢? 需要向xml配置中加上一下两个配置: <insert id="add" useGenerate ...
- 插入后获取到id
第一种方法: insert INTO student(name) VALUES("南亚");SELECT @@identity 第二种方法: insert INTO student ...
- SQL 重置自增列的值 批量处理
Declare @IdentityTable sysname, @IdentityColumn sysname, @TotalRows int, @i int, @Iden int, @Sql var ...
- 获取ACCESS数据库中自增变量的值
/// <summary> /// 获取自增变量值 /// </summary> /// <returns>自增变量值</returns> public ...
- sql server自增列值的获取
IDENT_CURRENT(tbname) 是看表对象.所以没有受作用域限制. SCOPE_IDENTITY() 受作用域限制.同一个会话里面不同作用域也会有差异 @@IDENTITY 受会话限制 ...
- mybatis获取insert插入之后的id
一.为什么要获取insert的id 写了测试类测试插入,插入之后用select查询出来进行Assert 插入成功后,不管Select对比的结果成功还是失败,都希望删除掉测试插入的结果 二.运行环境 m ...
- Mysql 中获取刚插入的自增长id的值
insert into user (username,password) VALUES ('); //获取刚插入的自增长id的值 select last_insert_id(); 在MySQL中,使用 ...
- 数据库:mysql 获取刚插入行id[转]
我们在写数据库程序的时候,经常会需要获取某个表中的最大序号数, 一般情况下获取刚插入的数据的id,使用select max(id) from table 是可以的.但在多线程情况下,就不行了. 下面介 ...
随机推荐
- PyYAML和configparser模块讲解
Python也可以很容易的处理ymal文档格式,只不过需要安装一个模块,参考文档:http://pyyaml.org/wiki/PyYAMLDocumentation ymal主要用于配置文件. Co ...
- print 函数用法总结
1. 字符串和数值类型 >>> print(1) 1 >>> print("Hello World") Hello World 2.变量无论什么 ...
- 04.CSS的继承性和层叠性
CSS有两大特性: 继承性和层叠性 继承性 面向对象语言都会存在继承的概念 , 在面向对象语言中, 继承的特点: 继承了父类的属性和方法. 那么 css 就是在设置属性的 , 不会牵扯到方法 ...
- linux grep打印匹配的上下几行
$grep -5 'parttern' inputfile //打印匹配行的前后5行 $grep -C 5 'parttern' inputfile //打印匹配行的前后5行 $grep -A 5 ' ...
- xUtils怎么post请求上传json数据
InfoSmallCodeBinding smallCode = new InfoSmallCodeBinding(); smallCode.setSmallCode("测试"); ...
- 6410裸板程序,led、蜂鸣器、按键…
//***************************************************************** //作者:昊天 // //功能:在ok6410板子上跑裸板程序, ...
- springBean之BeanFactory与ApplicationContext
一.主要区别: 两者都是通过xml配置文件加载bean,ApplicationContext和BeanFacotry相比,提供了更多的扩展功能,但其主要区别在于后者是延迟加载,如果Bean的某一个属性 ...
- Effective ObjectiveC 2.0 Note
[Effective ObjectiveC 2.0 Note] 1.The memory for objects is always allocated in heap space and never ...
- spring aop自动代理注解配置之一
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- =面试题:java面试基本方向 背1 有用 项目二技术学完再看
一.Java基础 1. 集合框架A)集合中泛型优点? 将运行期的ClaasCastException 转到编译期异常. 泛型还提供通配符 1)HashMap---允许一个键为null,允许多个值为n ...