解释 DBMS 中的触发器和活动数据库
触发器是由 DBMS 自动调用以响应数据库更改的过程,由数据库管理员 (DBA) 指定。具有一组关联触发器的数据库通常称为活动数据库。
触发器部分
触发器描述包含三个部分,如下所示 -
事件- 事件是对激活触发器的数据库的更改。
条件- 激活触发器时运行的查询称为条件。
操作- 当触发器被激活且其条件为真时执行的过程。
触发器的使用
触发器可用于以下任何原因 -
实现任何复杂的业务规则,不能使用完整性约束来实现。
触发器将用于审核流程。例如,跟踪对表所做的更改。
当另一个相关动作发生时,触发器用于执行自动动作。
触发器类型
不同类型的触发器解释如下 -
语句级触发器- 无论受语句影响的行数如何,它只为 DML 语句触发一次。语句级触发器是触发器的默认类型。
Before-triggers - 在定义触发器时,我们可以指定触发器是在执行 INSERT、DELETE 或 UPDATE 等命令之前还是在执行命令之后触发。在执行操作之前,会自动使用 Before 触发器来检查数据的有效性。例如,如果在给定情况下不允许删除,我们可以使用 before 触发器来防止删除行。
After-triggers - 在触发动作完成后使用。例如,如果触发器与 INSERT 命令关联,则在将行插入表中后触发它。
行级触发器- 为受 DML 命令影响的每一行触发。例如,如果 UPDATE 命令更新 150 行,则行级触发器会被触发 150 次,而语句级触发器只会被触发一次。
创建数据库触发器
要创建数据库触发器,我们使用 CREATE TRIGGER 命令。创建触发器时要提供的详细信息如下 -
触发器的名称。
要关联的表。
何时触发触发器:之前或之后。
调用触发器的命令 - UPDATE、DELETE 或 INSERT。
是否行级触发器。
过滤行的条件。
触发触发器时将执行 PL/SQL 块。
创建数据库触发器的语法如下 -
CREATE [OR REPLACE] TRIGGER triggername{BEFORE|AFTER}
{DELETE|INSERT|UPDATE[OF COLUMNS]} ON table
[FOR EACH ROW {WHEN condition]]
[REFERENCE [OLD AS old] [NEW AS new]]
BEGIN
PL/SQL BLOCK
END.
以上是 解释 DBMS 中的触发器和活动数据库 的全部内容, 来源链接: utcz.com/z/357606.html