在Oracle数据库中,触发器是一种特殊类型的存储过程,它在特定事件(如INSERT、UPDATE或DELETE)发生时自动执行
以下是Oracle触发器的一些主要特点:
创建触发器的基本语法如下:
CREATE [OR REPLACE] TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE | DELETE} ON table_name
[FOR EACH ROW]
[WHEN (condition)]
DECLARE
-- Declare variables and constants
BEGIN
-- PL/SQL code to execute when the trigger fires
EXCEPTION
-- Exception handling code
END;
/
以下是一个简单的触发器示例,用于在向"employees"表插入新记录时自动设置"created_date"列的值:
CREATE OR REPLACE TRIGGER set_created_date
BEFORE INSERT ON employees
FOR EACH ROW
BEGIN
:new.created_date := SYSDATE;
END;
/
在这个示例中,我们创建了一个名为"set_created_date"的触发器,它在向"employees"表插入新记录之前执行。触发器的主体部分包含一个简单的PL/SQL代码块,将":new"伪记录的"created_date"列设置为当前日期和时间(SYSDATE)。
要获取有关Oracle触发器的更多详细信息,请参阅Oracle官方文档: