gpt4 book ai didi

sql - 多条记录的 SCOPE_IDENTITY

转载 作者:行者123 更新时间:2023-12-03 15:46:53 24 4
gpt4 key购买 nike

以下查询在事务中插入许多记录。我想获取新创建的增量标识符并在下一个 INSERT 中使用它陈述

对于单个记录,我可以使用如下

 SELECT @new_emp_id= SCOPE_IDENTITY()     

怎么样 SCOPE_IDENTITY多条记录?或者我们可以将它插入临时表并循环遍历它?
 INSERT EmployeeBenifits(EmployeeId,BenifitID,StartdateTime,EndDateTime) 

SELECT @new_emp_id,BenifitID,GetDate(),@PassedEndDate FROM Benifits

INSERT EmployeeBenifitDetails(EmpBenId,Desc)
SELECT EmpBenId,'Created Details' FROM @NewlyInsertedEmplBenifits

最佳答案

你应该看看 OUTPUT条款:

INSERT INTO dbo.EmployeeBenefits(EmployeeId, BenefitID, StartdateTime, EndDateTime) 
OUTPUT Inserted.EmployeeBenefitId, Inserted.EmployeeID, Inserted.BenefitID -- or whatever you want to return here
SELECT
@new_emp_id, BenefitID, GetDate(), @PassedEndDate
FROM
dbo.Benefits

基本上, OUTPUT子句可以为已插入的每一行返回列的结果集(也适用于 DELETEUPDATE 语句)。

See MSDN documentation for more details

您也可以发送 OUTPUT行到临时表(或表变量)以供稍后进一步处理。

关于sql - 多条记录的 SCOPE_IDENTITY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21884766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com