0
在我正在阅读的一本书中,它展示了如何合并来自2个不同表的记录,这里是下面的代码,我相信这在Oracle SQL中。如何将Oracle MERGE语句转换为T-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语句必须用分号(;)结束 error.I添加了分号,但仍然得到同样的错误。
PL/SQL是一种与Oracle SQL紧密协作的过程式(命令式)编程语言。 MERGE语句是Oracle SQL(并且Oracle实现了MERGE的SQL标准定义和语法)。你在这里有什么**没有与PL/SQL有关。了解PL/SQL不是** Oracle版本的SQL的名称。我将编辑您的帖子以纠正此问题。 – mathguy
那么:那本书是什么?有一件事立即突出:为什么使用(select * from emp)emp'?为什么不只是使用emp?如果这是本书的整体质量,那么你不妨寻找另一本书。 – mathguy
@mathguy本书是SQL Cookbook。感谢更新。 – Adaptron