GBase 8s 触发器介绍
触发器也称为 Trigger, 本质上是一种存储过程. 在进行 DML/DQL 操作时, 触发器中的语句
被数据库服务器自动执行. 触发器可用于维护多表之间的数据一致性.
1. 触发器的优点
触发器的主要优点在于其自动响应的特性, 对表的增/删/改操作都可触发相应触发器. 触
发器可起到约束条件的作用, 但其功能更为强大, 能够实现更为复杂的操作. 但需要注意的是,
触发器虽然功能强大, 但如果对其过分依赖, 则会导致数据库过于复杂, 进而难以维护; 对性
能也会产生影响.
2. 触发器的组成
触发器由以下 3 部分组成:
1) 触发事件
即, 插入/修改/删除等操作.
2) 触发条件
触发器被激活后, 将对触发条件进行测试, 如果条件成立, 则执行预定义动作, 否则
不做响应.
3) 触发动作
在满足触发条件的情况下, 预定义的动作被 8s 服务器自动执行. 预定义动作可以用
于防止特定事件的发生(如: 撤销触发事件所作的更改); 预定义动作还可以是与触发
事件不相关的操作.
3. 触发器的创建
8s 的触发器创建语法如下:
CREATE TRIGGER <触发器名> <触发事件> ON <目标表>
<触发时间>
WHEN <触发条件>
<触发动作>
1) 触发器名
只有目标表的创建者或具有 DBA 权限的用户可以创建此表上的触发器.
一张表或视图上, 可以创建多个关联增/删/改/查操作的触发器.
2) 触发事件
触发事件定义了激活触发器的 SQL 语句类型. 触发事件有 4 类: INSERT, UPDATE, DELETE,
SELECT. 在 UPDATE/SELECT 后,可以使用"OF <属性列表>"从句指定触发列;
DELETE/INSERT 只支持整行触发.
3) 目标表
当在目标表上发生触发事件时, 定义在该表上的触发器被激活.
4) 触发时间
评论0
最新资源