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)]
BEGINstatement;
END
系统级触发器可以在特定的系统事件发生时,发出触发器文件。它们可以但并不仅限于登录、登出、启动、停止大字句及某些“DBA”操作(数据库管理员的操作)。定义此类触发器的句法如下:
CREATE OR REPLACE TRIGGER trigger_name
BEFORE/AFTERLOGON/LOGOFF
[ON[DATABASE][WHEN (condition)]
BEGIN statement;
END
总的来说,Oracle数据库的触发器是一种非常实用的技术,可以在特定的数据库行为发生时,给出用户定义的响应。Oracle 支持三种类型的触发器,分别是行级触发器、表级触发器和系统级触发器,它们均拥有不同的定义句法,可以满足不同的需求。