创建Oracle数据库:深入了解触发器类型(oracle触发器类型)
Oracle数据库的触发器类型提供用户无缝的处理一些複雜的数据操作。在Oracle数据库中定义触发器,此次触发器将被调用,并在特定的回应行为发生时触发来完成任务。几乎所有的触发器都分为三类:行级触发器,表级触发器和数据库级触发器,它们之间有着一定的不同。
行级触发器是根据目标发出单行事件的触发器类型,当插入,更新或删除表行时,他将触发一个存储过程,一般而言,行级触发器一般用于验证表行或保存表行,可以使用如下代码创建一行触发器:
CREATE OR REPLACE TRIGGER trg_test
BEFORE INSERT OR DELETE OR UPDATE
ON table_test
FOR EACH ROW
BEGIN
…
END;
表级触发器是指在操作整个表时调用的触发器。例如,当客户端与表建立连接时,表级触发器就会调用出来,一般用于记录表变更的操作,可以使用如下代码创建一个表触发器:
CREATE OR REPLACE TRIGGER trg_test
BEFORE INSERT OR DELETE OR UPDATE
ON table_test
BEGIN
…
END;
数据库级触发器是在特定的数据库操作上触发的触发器,它们直接作用在数据库层次上,例如,服务器端用户登录,低级别的数据库NSIR操作等,一般用于记录数据库变更的操作,可以使用如下代码创建一个数据库触发器:
CREATE OR REPLACE TRIGGER test_trg
AFTER LOGON ON DATABASE
BEGIN
…
END;
从以上可以看出,上述三种触发器类型通常会用来记录数据库变更,但同时也有它们各自独特的用途。操作Oracle数据库场景时,用户有需要可以选择哪一种触发器类型来实现需求,并针对不同的触发器类型写出相应的脚本或存储过程。