【发布时间】:2020-05-12 23:39:16
【问题描述】:
我正在将 SQL 服务器 A 中的几个表中的数据复制到 B。我在 B 中有一组临时表,需要根据 B 中最终目标表中的更新值更新其中一些临时表。
例子:
服务器 B:
暂存表1:
ID | NAME | CITY
1 ABC XYZ
2 BCD XXX
StagingTable2:
ID | AGE | Table1ID(FK)
10 15 1
20 16 2
将 StagingTable1 复制到 TargetTable1 后(ID 被自动填充,我得到新的 ID,现在 ID 1 变为 2,ID 2 变为 3)
目标表1:
ID | NAME | CITY
1 PQR YYY (pre-existing record)
2 ABC XYZ
3 BCD XXX
所以现在在我可以复制 StagingTable2 之前,我需要用 TargetTable1 中的正确值更新其中的 Table1ID 列。
StagingTable2 应该变成:
ID | AGE | Table1ID(FK)
10 15 2
20 16 3
我正在为此编写一个存储过程,但不确定如何查找和更新临时表中的记录?
【问题讨论】:
-
请用您正在使用的数据库标记您的问题:mysql、oracle、sql-server...?
-
到目前为止你尝试了什么?
-
向我们展示您的尝试并解释您遇到的问题。
标签: sql sql-server tsql stored-procedures sql-update