克隆行并维护对克隆行的引用

时间:2018-06-21 10:57:28

标签: sql-server sql-server-2008-r2

我要从表中克隆某些行,必须使用特定条件选择该行,但我还需要将N对(sourceRowID,destinationRowID)保存在一个临时表中

我尝试使用OUTPUT,但无法使用源行的字段

INSERT INTO myTable(Value1, Value2)
OUTPUT myTable.ID, Inserted.ID 
INTO @tempTable(sourceRowID, destinationRowID)
SELECT Value1, Value2
FROM myTable
WHERE Value2 > 10

有解决方案吗?不幸的是,我无法使用SQL Server 2008

更新: 现在,这是我的解决方案:

首先,我使用OUTPUT指令将插入的记录写入@tempTable,确保插入的记录按ID进行排序

在这一点上,我拥有@tempTable,例如

sourceRowID | destinationRowID
-------------------------------
    NULL    |      12
    NULL    |      15
    NULL    |      16
    NULL    |      23

然后我更新@tempTable,再次检索具有相同WHERE条件的同一记录,并加入@tempTable和RowNumber检索到的记录,以确保再次按{{1 }},新记录和旧记录的顺序必须相同,并且通过更新,我将获得具有正确的destinationRowID@tempTable

sourceRowID

0 个答案:

没有答案