我是靠谱客的博主 尊敬大地,这篇文章主要介绍触发器的简单定义,现在分享给大家,希望可以做个参考。

先看例子(将表与序列关联):

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种触发器,知道是哪几个吗?



最后

以上就是尊敬大地最近收集整理的关于触发器的简单定义的全部内容,更多相关触发器内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部