日期:2014-05-17  浏览次数:20731 次

在触发器里有这样的用法吗?
if exists(select 1 from ERCP_PayResult where OrderNo=:new.OrderNo) then
 --
else
 --
end if;


我改为
if (1=1) then
 --
else
 --
end if;

编译通过

------解决方案--------------------
为什么不行啊。。。if(1=1)也是个判定
以前经常用这句 不过是跟着where的
where 1= 1 and ******
------解决方案--------------------
机器上没有oracle的实例了。。
在mysql下测试是可以通过的

mysql> create trigger trigger_wus before insert on csdn_wus
-> for each row
-> begin
-> if exists(select 1 from csdn_wus where name = new.name) then
-> set new.name = 'xxx';
-> else
-> set new.name = 'ooo';
-> end if;
-> end //
Query OK, 0 rows affected (0.03 sec)