MERGE 是 SQL 中用來進行「合併操作」的指令,常用於在一個查詢中,同時處理 INSERT、UPDATE 和 DELETE 的情況

MERGE 是 SQL 中用來進行「合併操作」的指令,常用於在一個查詢中,同時處理 INSERTUPDATEDELETE 的情況

 

MERGE target_table AS target
USING source_table AS source
ON target.key = source.key
WHEN MATCHED THEN
   UPDATE SET target.col1 = source.col1, ...
WHEN NOT MATCHED BY TARGET THEN
   INSERT (col1, col2, ...) VALUES (source.col1, source.col2, ...)
WHEN NOT MATCHED BY SOURCE THEN
   DELETE;
 

MERGE target_table:要更新的目標資料表。

USING source_table:來源資料表,可以是表格、子查詢或 CTE。

ON:定義匹配條件(主鍵或唯一欄位等)。

WHEN MATCHED THEN:如果找到相符的資料(符合 ON 條件),就執行 UPDATE

WHEN NOT MATCHED BY TARGET THEN:來源表有、目標表沒有 → 執行 INSERT

WHEN NOT MATCHED BY SOURCE THEN:目標表有、來源表沒有 → 執行 DELETE

 

自我LV~