几个触发器的实例

CREATE OR REPLACE TRIGGER "TRI_DEPARTMENT_BEFORE_INSERT" BEFORE
       INSERT ON TBL_DEPARTMENT FOR EACH ROW
 
BEGIN
       SELECT SEQ_DEPARTMENT.NEXTVAL INTO :NEW.DEPARTMENT_ID FROM DUAL;
       SELECT :new.department_id INTO :new.department_code FROM dual ;
 END;
/

  

CREATE OR REPLACE TRIGGER "TRI_PERSON_BEFORE_INSERT" before
  INSERT ON tbl_person FOR EACH ROW

DECLARE
    person_count number ;
BEGIN
  SELECT seq_person.nextval INTO :new.person_id FROM dual ;
  SELECT max(person_sort)+1 INTO :NEW.person_sort FROM tbl_person WHERE department_id = :NEW.department_id;
  IF :NEW.person_sort IS NULL THEN
    :NEW.person_sort := 1 ;
  END IF ;
END;
/

  

CREATE OR REPLACE TRIGGER "TRI_REGIONS_BEFORE_INSERT" BEFORE
       INSERT ON TBL_REGIONS FOR EACH ROW
 
BEGIN
       SELECT SEQ_REGIONS.NEXTVAL INTO :NEW.REGIONS_ID FROM DUAL;
 END;
/

  

CREATE OR REPLACE TRIGGER "TRI_UNIT_BEFORE_INSERT" BEFORE
       INSERT ON TBL_UNIT FOR EACH ROW
 
BEGIN
       SELECT SEQ_UNIT.NEXTVAL INTO :NEW.UNIT_ID FROM DUAL;
 END;
/

  

转载于:https://www.cnblogs.com/estellez/p/4266849.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值