触发问题显示缺失;

时间:2015-10-19 10:33:04

标签: oracle if-statement plsql

我已经坚持这个问题已经好几天了,不知道为什么这会有错误编译。错误丢失;在":NEW.desc:= concat(:NEW.desc,' Paul dollar');" ,任何人都可以看到我'我错了吗?或者甚至指出我正确的方向会很棒。

CREATE TRIGGER trig_name
before INSERT ON table_name for each row
BEGIN 
    IF(:NEW.name= 'John') THEN 
        :NEW.bank_bal := :NEW.bank_bal - .10;
        :NEW.desc:= concat(:NEW.desc, 'John ten');
    ENDIF;
     IF(:NEW.name= 'Jane') THEN 
        :NEW.bank_bal := :NEW.bank_bal - .20;
        :NEW.desc:= concat(:NEW.desc, 'Jane twenty');
    ENDIF;
     IF (:NEW.name= 'Ron') THEN 
        :NEW.bank_bal := :NEW.bank_bal - .20;
        :NEW.desc:= concat(:NEW.desc, 'Ron twenty');
    ENDIF;
     IF (:NEW.name= 'Paul') THEN 
        :NEW.bank_bal := :NEW.bank_bal - 1;
        :NEW.desc:= concat(:NEW.desc, 'Paul dollar');
    ENDIF;    
END; 
/

1 个答案:

答案 0 :(得分:4)

  

ENDIF;

在oracle中它不是一个字

IF condition THEN
   {...statements to execute when condition is TRUE...}
END IF;