首页 > 数据库 > mysql教程 > 在 SQL Server 2005 中批量插入后如何检索标识值?

在 SQL Server 2005 中批量插入后如何检索标识值?

Linda Hamilton
发布: 2024-12-29 14:05:11
原创
827 人浏览过

How Can I Retrieve Identity Values After Bulk Inserts in SQL Server 2005?

在 SQL Server 2005 中批量插入期间获取标识值

将多条记录从一个表插入到另一个表时,获取分配给新插入记录的标识值。这样可以使用引用目标表的外键对源表进行高效更新。

插入记录并检索标识值

在本例中,我们要插入记录从表 B 到表 A 并检索新插入记录的标识值以更新表中的字段“NewId” B.

使用 OUTPUT 子句

MS SQL Server 2005 提供了 OUTPUT 子句,允许用户捕获在数据修改操作期间插入的值。在这种情况下,我们可以按如下方式使用它:

DECLARE @output TABLE (id int)

Insert into A (fname, lname)
OUTPUT inserted.ID INTO @output
SELECT fname, lname FROM B

select * from @output
登录后复制

通过使用 OUTPUT 子句,我们创建一个表变量 @output 来存储标识值。 Inserted.ID 是指 A 表中新插入记录的标识值。

执行 insert 语句后,@output 表将包含 B 表插入的行对应的标识值。您可以然后使用这些值来更新表 B 中的 NewId 字段,而不需要游标。

以上是在 SQL Server 2005 中批量插入后如何检索标识值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板