注册 登录
编程论坛 Oracle论坛

建datatrigger时的错误,请指教

kiska3088915 发布于 2010-12-07 10:57, 820 次点击
请教一下各位大虾,我在创建这个trigger的时候到底错那啦?
CREATE OR REPLACE TRIGGER trigger_paid
   AFTER
   INSERT OR DELETE OR UPDATE OF paid ON i_booking_n
   FOR EACH ROW
DECLARE
BEGIN
IF INSERTING THEN
  INSERT INTO i_booklog (booking_no, newpaid) VALUES (:NEW.booking_no, NEW.paid);
ELSIF UPDATING THEN
    INSERT INTO i_booklog (booking_no, oldpaid, newpaid) VALUES (:NEW.booking_no, OLD.paid, NEW.paid);
ELSIF DELETING THEN
    INSERT INTO i_booklog (booking_no, oldpaid) VALUES (:NEW.booking_no, OLD.paid);
END IF;
END;

 
只有本站会员才能查看附件,请 登录


以下是两张表的信息
i_booking_n
只有本站会员才能查看附件,请 登录

i_booklog
只有本站会员才能查看附件,请 登录


[ 本帖最后由 kiska3088915 于 2010-12-7 11:00 编辑 ]
1 回复
#2
路過2011-01-25 17:03
VALUES 後 有的欄位前面沒有加“冒號”
如:
IF INSERTING THEN
  INSERT INTO i_booklog (booking_no, newpaid) VALUES (:NEW.booking_no, NEW.paid);中的 NEW.paid 應該 :NEW.paid
1