概述
先看例子(将表与序列关联):
create or replace trigger TRG_student --定义触发器名称
before insert --定义触发时间和触发事件
on student --定义要操作的表
for each row --说明是行触发器,无此行时说明是语句触发器
begin --个人理解,应该是表示pl/sql语句块的开始
select SEQ_student.nextval into :new.student_id from dual --注意new前的冒号!
end; --个人理解,应该是表示pl/sql语句块的结束
例子二:
--个人理解,应该是表示pl/sql语句块的开始
create trigger TRG_student
before insert or update
on student
for each row
when(new.gender='B') --注意此时new前没加冒号!
begin --语句块内的必须要加!
if(:new.score<60) then
:new.score:=61;
end if;
end;
REFERENCING 子句说明相关名称,在行触发器的PL/SQL块和WHEN 子句中可以使用相关名称参照当前的新、旧列值,默认的相关名称分别为OLD和NEW。触发器的PL/SQL块中应用相关名称时,必须在它们之前加冒号(:),但在WHEN子句中则不能加冒号。
每个表中最多定义12种触发器,知道是哪几个吗?
最后
以上就是尊敬大地为你收集整理的触发器的简单定义的全部内容,希望文章能够帮你解决触发器的简单定义所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复