小编典典

T-SQL输出子句:如何访问旧的标识ID

sql

我有一条T-SQL语句,该语句基本上执行插入操作,然后将某些插入的值输出到表变量中以供以后处理。

有没有办法将所选记录的旧标识ID存储到我的表变量中。如果使用下面的代码,则会显示“无法绑定多部分标识符” a.ID”。错误。

DECLARE @act_map_matrix table(new_act_id INT, old_ID int)
DECLARE @new_script_id int
SET @new_script_id = 1

INSERT INTO Act
(ScriptID, Number, SubNumber, SortOrder, Title, IsDeleted)
OUTPUT inserted.ID, a.ID INTO @act_map_matrix
    SELECT 
        @new_scriptID, a.Number, a.SubNumber, a.SortOrder, a.Title, a.IsDeleted
    FROM Act a WHERE a.ScriptID = 2

谢谢!


阅读 197

收藏
2021-03-23

共1个答案

小编典典

你必须加入回到@act_map_matrixAct获得“旧”值。

在INSERT语句中根本不可用

编辑:希望@new_scriptID和“ scriptid = 2”可以成为联接列

2021-03-23