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 sysobjectsSELECT *
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 sysobjectsSELECT *
FROM @batchInsertedIdsSELECT *
FROM @tmpTable
转载于:https://www.cnblogs.com/teng-0802/p/10758816.html
SQLServer如何在批量插入后,获取批量插入的自增列的值相关推荐
- CAD中插入外部参照字体会变繁体_为什么在原点附近的图纸作为外部参照插入后却离插入点很远?...
下面是本公众号文章分类目录,点击标题文字可打开分类文章列表: 安装卸载 异常.退出 文件及输入输出 基本操作技巧 各种设置及相关问题 界面和显示相关问题 快捷键 视图设置和调整 图层 ...
- SQL中获取刚插入记录时对应的自增列的值
--创建数据库和表 create database MyDataBase use MyDataBase create table mytable ( id int identity(1,1), nam ...
- 插入后获取主键id(tkMapper)
@Id @Column(name = "id", insertable = false) @KeySql(useGeneratedKeys = true) private Inte ...
- SQL 重置自增列的值 批量处理
Declare @IdentityTable sysname, @IdentityColumn sysname, @TotalRows int, @i int, @Iden int, @Sql var ...
- DataGridView获取当前选中的行与列的值
版权声明:本文为博主原创文章,引用如需标注必须出处 https://blog.csdn.net/qq_37227093/article/details/84335798 /// <summar ...
- C#丨DataGridView控件获取选中行的某一列的值
例子 获取当前选中行中列名为id的值 dataGridView1.CurrentRow.Cells["id"].Value.ToString();
- 在有子增列的表中插入一笔数据同时获得自增列号码
INSERT INTO ConCall_Reservation (列1,列2--) VALUES(值1,值2--): SELECT @@IDENTITY AS ID; 新增数据的同时,返回新增数据的自 ...
- mysql 获取刚插入行id汇总
mysql 获取刚插入行id汇总 我们在写数据库程序的时候,经常会需要获取某个表中的最大序号数, 一般情况下获取刚插入的数据的id,使用select max(id) from table 是可以的. ...
- Mysql 中获取刚插入的自增长id的值
1 insert into user (username,password) VALUES ('zyl','123'); 2 //获取刚插入的自增长id的值 3 select last_insert_ ...
- 数据库:mysql 获取刚插入行id[转]
我们在写数据库程序的时候,经常会需要获取某个表中的最大序号数, 一般情况下获取刚插入的数据的id,使用select max(id) from table 是可以的. 但在多线程情况下,就不行了. 下面 ...
最新文章
- Java 初始化顺序
- IE6、 IE7、IE8、Firefox兼容性问题
- DEV柱状图----傻瓜版
- JavaScript实现判断位是不是偶数isEven算法(附完整源码)
- 安装配置好openstack环境的虚拟机,须要改动ip时,在数据库中同步改动ip的方法...
- VIM使用系统剪切板
- 为什么计算机关机慢,电脑关机慢是什么原因 电脑关机慢的原因【图文】
- Qt文档阅读笔记-Threaded Fortune Server Example解析
- mysql的sql执行过程和explain语句
- SpringBoot如何直接访问HTML页面
- CTSC2017APIO2017
- 《算法竞赛入门经典》 第二章 循环结构程序设计 习题
- 我们都在努力做自己,我的编程之路开篇
- Cognos组织架构介绍
- 小米路由器刷 linux,小米路由器刷入Padavan系统
- 学习帮——提高智商、改善记忆力的120种绝佳方法!
- 北京汇佳IB大考成绩公布
- vue2和vue3 的 keep-alive的用法
- 学习文档【超详细中文版】(小甲鱼视频)
- Python数据分析与展示 第一章 Numpy库入门
热门文章
- 【滤波器】基于matlab GUI IIR数字滤波器设计【含Matlab源码 044期】
- python精妙算法_YOLOv4:高速物体检测的精妙之处
- mysql sql语法区别_sql和mysql语法有什么不同
- mysql二进制文件如何查看_使用mysqlbinlog查看MySQL二进制文件内容
- 单变量求解C语言,二分法求解单变量非线性方程及其应用与实现.doc
- php继承 重写方法吗,PHP中的继承与重写
- mysql 并发锁_MySQL的并发控制与加锁分析
- 一般通话记录能保存多少条_有一手|2万炒股0一般能挣多少?
- springboot优点_Spring boot入门
- Windows服务中Timer组件Tick无法触发