解释 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

回到顶部