merge into emp_tar.et
using emp_src.es on (et.emp_id, es.emp_id)
insert into (et.emp_id,et.emp_name)
values(es.emp_id,es.emp_name)
每当我执行此代码时,它都会给出错误:
在上下文中指定的非布尔类型的表达式 条件是预期的,靠近','
答案 0 :(得分:3)
这是正确的Merge
语法
Merge into emp_tar et
using emp_src es on et.emp_id = es.emp_id -- use = to equate two columns
When Not Matched then -- to insert the records only it is not present in target
insert into (et.emp_id,et.emp_name)
values(es.emp_id,es.emp_name)
与
相同Insert into emp_tar(emp_id,emp_name)
Select es.emp_id,es.emp_name
From emp_src es
Where Not exists (select 1 from emp_tar et Where et.emp_id = es.emp_id)
当您想要执行多个DML操作时,可以使用 Merge
语句。在您的情况下使用Merge
Insert from Select
也是非常错误的