[英]T-SQL Merge - when matched update column and when not matched insert entire row
我有兩個桌子。
DummyTable
Column1 | Column2 | Column3
a | b | c
GoodTable
Column1 | Column2 | Column3
a | b | c
我是T-SQL的新手,在執行以下操作時需要幫助;
通過使用條件將數據從DummyTable合並到GoodTable
下面是我不工作的嘗試
MERGE INTO GoodTable AS Target
USING (VALUES (SELECT Column2 FROM DummyTable)) AS source (Column2)
ON Target.Column2 = Source.Column2
WHEN MATCHED BY TARGET THEN
UPDATE (Column2) VALUES (Column2)
WHEN NOT MATCHED BY TARGET THEN
INSERT INTO GoodTable VALUES DummyTable
看看這是否適合您。 這是基於您上面的邏輯。
MERGE INTO GoodTable AS Target
USING DummyTable AS Source
ON Target.Column2 = Source.Column2
WHEN MATCHED THEN
UPDATE SET Column3 = source.Column3
WHEN NOT MATCHED THEN
INSERT (Column1,Column2,Column3) --Column names in target table
VALUES (Column1,Column2,Column3); --Column names in source table
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.