二 ORACLE 触发器 ORACLE产生数据库触发器的语法为: create [or replace] trigger 触发器名 触发时间 触发事件 on 表名 [for each row] begin xxxx; end 其中: 触发器名:触发器对象的名称。由于触发器是数据库自动执行 的,因此该名称只是一个名称,没有实质的用途。 触发时间:指明触发器何时执行,该值可取: before---表示在数据库动作之前触发器执行; after---表示在数据库动作之后出发器执行。 触发事件:指明哪些数据库动作会触发此触发器: insert:数据库插入会触发此触发器; update:数据库修改会触发此触发器; delete:数据库删除会触发此触发器。 表 名:数据库触发器所在的表。 for each row:对表的每一行触发器执行一次。如果没有这一 选项,则只对整个表执行一次。 举例:下面的触发器在更新表card之前触发,目的是不允许在 周末修改表: create trigger card_check before insert or update or delete //对整表更新前触发 on card begin if(to_char(sysdate,'DY')='SUN' RAISE_APPLICATION_ERROR(-20600,'不能在周末修改表card'); end if; end 举例:下面的触发器在更新表card之前触发,自动追加一个由序列产生的流水标号create or replace trigger triger_card before insert on jw_card for each rowdeclare var_seqvar number; begin select NVL(seq_jw_card.nextval,1) INTO var_seqvar FROM dual; :new.seqvar:=var_seqvar;end triger_card;
最后
以上就是魁梧豌豆最近收集整理的关于关于触发器的全部内容,更多相关关于触发器内容请搜索靠谱客的其他文章。
发表评论 取消回复