概述
二 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;
最后
以上就是魁梧豌豆为你收集整理的关于触发器的全部内容,希望文章能够帮你解决关于触发器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复