MERGE <hint> INTO <table_name> -- 表名称
USING <table_view_or_query> -- 表查询信息
ON (<condition>) -- 条件
WHEN MATCHED THEN <update_clause> -- 更新操作
DELETE <where_clause> -- 删除操作
WHEN NOT MATCHED THEN <insert_clause> -- 插入操作
[LOG ERRORS <log_errors_clause> <reject limit <integer | unlimited>];
-- 实例
MERGE INTO USERINFO a
USING (
SELECT '1' as UNAME
FROM dual
) b
ON (a.UNAME = b.UNAME)
WHEN MATCHED THEN
UPDATE SET a.ADDR = 'ddd', a.UTC = 1234567
WHEN NOT MATCHED THEN
INSERT (a.ADDR, a.UTC, a.UNAME) VALUES ('aaa', 7654321, '1');