插入多条记录并获取无游标的标识值
从子表(B)向父表(A)插入多条记录是数据管理中的一项常见任务。通常,需要使用为父表中新插入的记录生成的标识值来更新子表的记录。
Microsoft SQL Server 2005 通过 OUTPUT 子句提供了满足此要求的解决方案。 OUTPUT 子句捕获新插入记录的标识值并将它们存储在表变量 (@output) 中。这允许高效地检索标识值,而无需使用游标的开销。
这里是一个示例代码片段,演示了 OUTPUT 子句的用法:
DECLARE @output TABLE (id int) -- Insert records from table B into table A Insert into A (fname, lname) OUTPUT inserted.ID INTO @output SELECT fname, lname FROM B -- Retrieve the identity values from @output select * from @output
通过执行上述命令代码中,插入记录的标识值将存储在@output表变量中。然后可以使用该变量适当地更新表 B 中的 NewId 列。
使用 OUTPUT 子句是在 Microsoft SQL Server 2005 中插入多条记录并获取其标识值的一种高效且直接的方法。用于涉及父表和子表的数据操作任务的强大且可维护的解决方案。
以上是SQL Server插入多条记录后如何高效获取Identity值?的详细内容。更多信息请关注PHP中文网其他相关文章!