掌握oracle数据库 triger类型(oracle触发器类型)
本文讲述了Oracle数据库中触发器类型的简介。
触发器是Oracle数据库中的一种非常重要的特性,可以用来自动执行特定操作。触发器是通过一系列规定条件来触发指定操作行为;当触发器定义的某一条件发生时,它便会执行指定的操作。触发器分为四种类型:行触发器、表触发器、登录触发器和系统触发器。
行触发器是根据表中一行记录触发指定操作的触发器。它可以触发表的插入、更新和删除操作。行触发器会在定义的表上绑定,并在该表上指定的操作事件发生时实施行为。如此,当一条记录被插入、更新或删除时,所关联的触发器的定义的语句就会自动执行。
新建一个表触发器的代码如下:
CREATE TRIGGER my_trig
BEFORE INSERT OR UPDATE OF col_name
ON my_table
FOR EACH ROW
BEGIN
:new.col_name := ‘abc’;
END;
表触发器是根据表的操作触发特定操作的触发器。表触发器可以监视表的操作,包括表的删除、插入和更新。表触发器可以检测表被删除、插入和更新等操作,并应用到相关操作中。
新建一个表触发器的代码如下:
CREATE TRIGGER my_table_trig
BEFORE DELETE OR INSERT OR UPDATE OF ATable
ON my_table
BEGIN
INSERT INTO logTable VALUES(‘table operation is done’);
END;
登录触发器是根据用户登录行为触发动作的触发器,它通常被应用到系统安全使用上。当某个用户登录或注销系统时,它就会自动触发指定的操作行为。
新建一个登录触发器的代码如下:
CREATE TRIGGER my_login_trig
AFTER LOGIN ON DATABASE
BEGIN
INSERT INTO logTable VALUES(‘user login is done’);
END;
系统触发器是当数据库上的特定操作完成时自动触发的触发器,通常会被应用在特定数据库场景下。例如当数据库完成启动时,它会被自动执行,或当数据库被关闭时,它会自动执行相关操作语句。
新建一个系统触发器的代码如下:
CREATE TRIGGER my_Sys_trig
AFTER STARTUP ON DATABASE
BEGIN
INSERT INTO logTable VALUES(‘System information is done’);
END;
总结而言,Oracle数据库触发器可以说是一种非常重要的特性,它让Oracle在实施各种数据库操作时更方便。希望本文能够帮助读者对Oracle数据库中触发器类型有一个更清晰的认识。