【发布时间】:2016-07-08 14:09:25
【问题描述】:
我想在 SQL Server 中根据一个通用的非数字列键 [Key] 更新源表 B 中的目标表 A 中的多个列 [C1]、[C2] 并添加缺失的行(包括键) 在目标表 A 中。表 A 和 B 具有完全相同的列,包括键。约束是永远不要从 A 中删除任何记录。我不介意数据是否不真实,但我确实介意数据是否丢失。所以我相信没有 DROP 没有截断。最有效的方法是什么?
示例表
Destination Table A with columns:
[Key][C1][C2]
A, 1, 2
B, 3, 4
C, 5, 6
SourceTable B with columns:
[Key][C1][C2]
A, 2, 1
B, 3, 4
C, 7, 6
D, 0, 0
预期结果 A 与 B 完全相同
Destination Table A:
[Key][C1][C2]
A, 2, 1
B, 3, 4
C, 7, 6
D, 0, 0
编辑:我忘了提到,如果稍后从表 B 中删除某些内容,例如带有键 A 的行,则在更新时它也应该从表 A 中删除。
【问题讨论】:
标签: sql sql-server insert sql-update