SQL中的MERGE语句,是对两个表进行操作,可以看做是UPDATE和INSERT的集合使用,前提是目标表可以插入和更新记录。
EXAMPLES:
EXAMPLES:
CREATE TABLE test_a (part_id number, part_count number);
INSERT INTO test_a VALUES(3, 5);
INSERT INTO test_a VALUES(4, 8);
CREATE TABLE test_b (part_id number, part_count number);
INSERT INTO test_b VALUES(3, 2);
INSERT INTO test_b VALUES(6, 7);
MERGE INTO test_a a
USING test_b b
ON (a.part_id = b.part_id)
WHEN MATCHED THEN UPDATE SET a.part_count = a.part_count + b.part_count
WHEN NOT MATCHED THEN INSERT (a.part_id, a.part_count)
VALUES (b.part_id, b.part_count);
SELECT * FROM test_a;
PART_ID PART_COUNT
---------- ----------
3 7
4 8
6 7