您的位置:首页 > 数据库

SQL中Merge的用法

2020-06-22 04:18 127 查看

根据与源表联接的结果,对目标表运行插入、更新或删除操作。 例如,根据与另一个表的区别,在一个表中插入、更新或删除行,从而同步两个表。

示例代码:

MERGE INTO table_name alias1
USING (table|view|sub_query) alias2
ON (join condition)
WHEN MATCHED THEN
UPDATE
SET col1 = col1_val1,
col2 = col2_val2
WHEN NOT MATCHED THEN
INSERT (column_list) VALUES (column_values);

案例一:
数据准备:
源表:MERGE_SOURCE:

要更新的目标表:MERGE_TARGET

代码实现:

merge into MERGE_TARGET TARGET--要更新的目标表
USING(SELECT B.ID,B.NAME,B.AGE FROM MERGE_SOURCE B) SOURCE--源表
ON(TARGET.ID=SOURCE.ID)
WHEN MATCHED THEN
UPDATE
SET TARGET.NAME=SOURCE.NAME,
TARGET.AGE=SOURCE.AGE
WHEN NOT MATCHED THEN
INSERT VALUES(SOURCE.ID,SOURCE.NAME,SOURCE.AGE);

运行成功之后TARGET表显示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: