if  exists(select 1 from ERCP_PayResult where OrderNo=:new.OrderNo) then
 --
else
 --
end if;
我改为
if  (1=1) then
 --
else
 --
end if;编译通过

解决方案 »

  1.   

    为什么不行啊if(1=1)也是个判定
    以前经常用这句  不过是跟着where的  
    where 1= 1 and ******
      

  2.   

    if exists(select 1 from ERCP_PayResult where OrderNo=:new.OrderNo) 
    这个确实不行啊。
      

  3.   

    机器上没有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)
      

  4.   

    ORACLE 的 exists 只能用在SQL语句中。