语法为:
MERGE INTO table
USING data_source
ON (condition)
WHEN MATCHED THEN update_clause
WHEN NOT MATCHED THEN insert_clause;注意:
ON 后面必须用括号指出匹配条件
UPDATE 和 INSERT 后面均不能限定需要操作的表,因为使用 MERGE INTO 语句时已经指定。
MERGE语句不能修改在ON子句中引用的列。由于你的表只有一个字段,所以这种需求不能用MERGE来实现。
MERGE INTO table
USING data_source
ON (condition)
WHEN MATCHED THEN update_clause
WHEN NOT MATCHED THEN insert_clause;注意:
ON 后面必须用括号指出匹配条件
UPDATE 和 INSERT 后面均不能限定需要操作的表,因为使用 MERGE INTO 语句时已经指定。
MERGE语句不能修改在ON子句中引用的列。由于你的表只有一个字段,所以这种需求不能用MERGE来实现。
SELECT NUM
FROM (SELECT ROWNUM AS NUM FROM DUAL CONNECT BY ROWNUM<=9) A
WHERE NOT EXISTS(
SELECT 1
FROM TEST B
WHERE A.NUM=B.NUM
);
SELECT NUM
FROM (SELECT ROWNUM AS NUM FROM DUAL CONNECT BY ROWNUM<=9) A
WHERE NOT EXISTS(
SELECT 1
FROM TEST B
WHERE A.NUM=B.NUM
);
update set id_01=b.id_01when not matched then
insert (a.id_01) values(b.id_01);