欢迎光临
我们一直在努力

Oracle触发器的种类与功能(oracle触发器类型)

Oracle触发器是指数据库管理系统(DBMS)触发器,其作用是,当会话或数据库操作对数据库表中的记录发生更改时,响应数据库语句的执行。 Oracle触发器的种类和功能大致可以分为两类,即行级触发器和表级触发器。

行级触发器是由一组关联的SQL语句构成的PAL,该PAL将在指定的时刻、操作或事件激活,以对表中在某行进行变更,行触发器执行不会影响当前行或其他行,而且可以更新同一表中的其他行。 例如:当修改”Employees”表中某个员工的职位时,将自动更新该员工所在部门的经理职位。 可以使用以下语法创建行触发器:

CREATE OR REPLACE TRIGGER trigger_name

AFTER UPDATE OF job ON employees

FOR EACH ROW

BEGIN

UPDATE departments

SET manager=: new.job

WHERE dept_no=:old.dept_no;

END;

表级触发器及其功能相对复杂,它基本上可以在表上定义,当在表上发生插入、更新或删除操作时就会触发,而且可以更新多个表中的记录。 例如:当在”Employees”表中修改某个员工的职位时,触发器将更新该员工所在部门的经理职位并向”Jobs”表中添加一条记录。可以使用以下语法创建表触发器:

CREATE OR REPLACE TRIGGER trigger_name

BEFORE UPDATE OR DELETE ON employees

BEGIN

UPDATE departments

SET manager=: new.job

WHERE dept_no=:old.dept_no;

INSERT INTO jobs (job_title, department_id)

VALUES(:new.job, :old.dept_no);

END;

本文初步介绍了Oracle触发器的种类和功能,即行级触发器和表级触发器。行级触发器用于在指定的时刻、操作或事件激活,以对表中在某行进行变更,而表级触发器可以更新多个表中的记录。可以使用创建相应触发器的相关代码来实现触发器的功能。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。