Oracle数据库中的触发器类型介绍(oracle触发器类型)

Oracle中的触发器是指在特定数据库行为发生时,给予相应的反应。常见的应用有记录日志、完成安全控制、实行数据完整性约束、自动开启或关闭一系列任务或者操作和定期检查关键内存变量等。Oracle数据库支持三种类型的触发器,分别是行级触发器、表级触发器和系统级触发器。

行级触发器也称作行触发器,它允许在每次单行更新或删除操作被执行时,发出触发器文本。定义此类触发器的句法为:

CREATE [OR REPLACE] TRIGGER trigger_name
{BEFORE | AFTER | INSTEAD OF}
{INSERT [OR]
UPDATE [OR]
DELETE}
[OF column_name]
[ON table_name]
[REFERENCING OLD AS OLD_correlation_name|NEW AS NEW_correlation_name]
[FOR EACH ROW]
[WHEN (condition)]
BEGIN
statement;
END

表级触发器允许在每次表被更新或删除时发出触发器文本。

定义表级触发器的句法如下:

CREATE [OR REPLACE] TRIGGER trigger_name
{BEFORE | AFTER | INSTEAD OF}
{INSERT [OR]
UPDATE [OR]
DELETE}
ON table_name
[REFERENCING OLD AS OLD_correlation_name|NEW AS NEW_correlation_name]
[FOR EACH ROW]
[WHEN (condition)]
BEGIN
statement;
END

系统级触发器可以在特定的系统事件发生时,发出触发器文件。它们可以但并不仅限于登录、登出、启动、停止大字句及某些“DBA”操作(数据库管理员的操作)。定义此类触发器的句法如下:

CREATE OR REPLACE TRIGGER trigger_name
BEFORE/AFTER
LOGON/LOGOFF
[ON[DATABASE]
[WHEN (condition)]
BEGIN
statement;
END

总的来说,Oracle数据库的触发器是一种非常实用的技术,可以在特定的数据库行为发生时,给出用户定义的响应。Oracle 支持三种类型的触发器,分别是行级触发器、表级触发器和系统级触发器,它们均拥有不同的定义句法,可以满足不同的需求。


数据运维技术 » Oracle数据库中的触发器类型介绍(oracle触发器类型)