在我正在阅读的其中一本书中,它展示了如何合并来自2个不同表的记录,这里是下面的代码,我相信这是在Oracle SQL中。
merge into emp_commission ec
using (select * from emp) emp
on (ec.empno=emp.empno)
when matched then
update set ec.comm = 1000
delete where (sal < 2000)
when not matched then
insert (ec.empno, ec.enme, ec.deptno, ec.comm)
values (emp.empno, emp.ename, emp.deptno, emp.comm)
我试过在SQL Server中运行它,但是我得到了 一个MERGE语句必须以分号(;) 错误终止。我添加了半-colon但仍然得到同样的错误。
答案 0 :(得分:0)
merge into emp_commission ec
using (select * from emp) emp
on (ec.empno=emp.empno)
when matched and
sal < 2000 THEN
delete
when matched then
update
set ec.comm = 1000
when not matched then
insert (empno, enme, deptno, comm)
values (emp.empno, emp.ename, emp.deptno, emp.comm);