MERGE INTO语句常可用将一张表中的数据另一个表中,在合并的同时,可以根据条件进行插入、删除、更新等操作。
MERGE INTO
TABLE_A a -------target:TABLE_A a即为目标表,也是操作表。
USING
SELECT
COLUMN_A,
COLUMN_B
FROM
TABLE_B b ------source:TABLE_B即为源表,可以是一张表或者查询结果,是合并对象。
ON
a.CoLUMN_ID = b.COLUMN_ID ------match-condition:target和source的链接条件、匹配条件。
WHEN MATCHED THEN
UPDATE
SET a.COLUMN_A = '' --------when matched then:符合链接条件时的操作。
WHEN NOT MATCHED THEN
INSERT
(COLUMN_ID,COLUMN_A,COLUMN_B)
VALUES
(b.COLUMN_ID,b.COLUMN_A,b.COLUMN_B)-------when not matched then:不符合链接条件时的操作。
ELSE IGNORE ------else ignore:都不符合时,不进行任何操作,忽律。