oracle 触发器

来源:互联网 发布:免费开源的cms 编辑:程序博客网 时间:2024/06/09 19:02
--更新payment 的status,orderid,issue 触发
CREATE OR REPLACE TRIGGER "UPDATE_ORDER_STATUS_ISSUE"
  AFTER UPDATE OF STATUS, ORDERID, ISSUE ON PAYMENT
  FOR EACH ROW
BEGIN
  IF :OLD.STATUS != :NEW.STATUS THEN
    UPDATE ORDER
       SET PAYMENTSTATUS = :NEW.STATUS
     WHERE ORDERID = :NEW.ORDERID;
  ELSIF :OLD.ISSUE != :NEW.ISSUE THEN
    UPDATE ORDER
       SET PAYMENTISSUE = :NEW.ISSUE
     WHERE ORDERID = :NEW.ORDERID;
  END IF;

END;


--向REFUND中插入数据时触发
CREATE OR REPLACE TRIGGER INSERT_REFUND_FLIGHTNO
  AFTER INSERT ON REFUND
  FOR EACH ROW
BEGIN
  UPDATE ORDERPASSAGER BP
     SET BP.REFUNDFLIGHTNO = :NEW.FLIGHTNO
   WHERE BP.ORDERID = :NEW.ORDERID
     AND BP.FOID = :NEW.FOID;

END;

大笑

0 0