在Oracle数据库中,DML触发器用于响应数据操作语言(DML)事件,如INSERT、UPDATE和DELETE语句。一个表可以拥有定义在其上的任意数量的触发器,这些触发器可以处理多个DML类型。比如,您可以为同一个表定义两个针对DELETE语句的触发器。所有同类型的触发器将按照定义的顺序依次激发。
触发器的创建通常包括以下步骤:
1. 定义触发器类型(例如,BEFORE、AFTER)
2. 选择触发事件(如INSERT、UPDATE、DELETE)
3. 编写触发器的执行代码
例如,以下SQL示例展示了一个在DELETE操作后触发的触发器:
CREATE OR REPLACE TRIGGER delete_trigger
AFTER DELETE ON employees
FOR EACH ROW
BEGIN
-- 触发器逻辑代码
INSERT INTO audit_log (action, table_name, record_id) VALUES ('DELETE', 'employees', :OLD.employee_id);
END;