在 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中文网其他相关文章!