[英]SQL Server to Oracle query convert
我在sql server中有这样的代码
IF EXISTS (SELECT * FROM address WHERE new_add=new_add)
UPDATE address set old_add=old_add);
ELSE
UPDATE address set old_add=new_add);
它在SQL Server中正常工作。 但是它在oracle中不起作用。 表明
SP2-0734: unknown command beginning "IF EXISTS ..." - rest of line ignored.
请帮助我将此查询从SQL更改为Oracle。 谢谢
SELECT 1 FROM address WHERE new_add=new_add
if @@RowCount > 0
UPDATE address set old_add=old_add
在两个数据库中,您都可以将查询编写为:
update address
set old_add = old_add
where exists (SELECT * FROM address WHERE new_add = new_add);
根本不需要if
。
但是,此查询是无意义的。 它要么在所有行中为其自身设置一列(如果where
中的条件至少匹配一行)。 或者,它不更新任何行(如果where
的条件没有匹配的行)。 无论哪种情况,都不会发生。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.