向表中插入多条记录时,您可能会遇到需要检索每个插入记录生成的标识值的情况。在这种情况下,如果您要将表 B 中的记录插入到表 A 中并希望获取插入记录的标识值,则有一个解决方案可以消除对游标的需要。
在 SQL Server 2005 中,您可以可以利用 OUTPUT 子句来完成此任务。 OUTPUT 子句允许您指定一个表变量,该变量将接收 INSERT 语句的输出,包括新插入行的标识值。
下面是一个示例:
DECLARE @output TABLE (id int) INSERT INTO A (fname, lname) OUTPUT INSERTED.ID INTO @output SELECT fname, lname FROM B
通过使用 OUTPUT 子句,您可以使用插入记录的标识值填充名为“@output”的表变量。然后,您可以查询此表变量来检索值:
SELECT * FROM @output
这种方法允许您高效地插入多条记录并获取它们的标识值,而无需诉诸游标或其他查询。
以上是在SQL Server中插入多条记录后如何高效检索Identity值?的详细内容。更多信息请关注PHP中文网其他相关文章!