CREATE OR REPLACE TRIGGER CESHIBEFORE UPDATEON FRONT_AFOR EACH ROWBEGINIF UPDATING('FUCK') THEN ELSE UPDATE FRONT_B B SET B.NAMEB='123456' WHERE B.CODEB=:NEW.CODE; END IF;END;如上面那个例子,我在IF条件成立后,不想执行任何操作,在THEN和ELSE之间需要写什么东西?
加一行 NULL 即可例如:SQL> DECLARE 2 testvalue INT; 3 BEGIN 4 testvalue := 200; 5 6 IF testvalue > 100 THEN 7 8 ELSIF testvalue = 100 THEN 9 dbms_output.put_line( '100' ); 10 ELSE 11 dbms_output.put_line( '100-' ); 12 END IF; 13 14 END; 15 / ELSIF testvalue = 100 THEN *ERROR 位于第 8 行:ORA-06550: 第 8 行, 第 9 列:PLS-00103: 出现符号 "TESTVALUE"在需要下列之一时::= . ( @% ;ORA-06550: 第 14 行, 第 4 列:PLS-00103: 出现符号 ";"在需要下列之一时:if上面的例子, 可以看出,如果 IF ELSE 里面, 没有内容, 那么编译不通过。下面是 加一行 NULL 通过的例子:SQL> DECLARE 2 testvalue INT; 3 BEGIN 4 testvalue := 200; 5 6 IF testvalue > 100 THEN 7 NULL; 8 ELSIF testvalue = 100 THEN 9 dbms_output.put_line( '100' ); 10 ELSE 11 dbms_output.put_line( '100-' ); 12 END IF; 13 14 END; 15 /PL/SQL 过程已成功完成。