触发器是 OceanBase 数据库中为 Oracle 租户提供的功能,它类似过程和函数,是包含声明、执行和异常处理过程的 PL 块。触发器基于特定事件被执行,可以指定触发器是在事件之前还是之后触发,以及触发器是针对单个事件还是被事件执行影响的某行数据。
触发器是一个独立的对象,当某个事件发生时自动地隐式运行,而且触发器不能接收参数。这里的事件指的是对数据库的表进行的 INSERT、UPDATE 及 DELETE 操作。
注意
OceanBase 数据库 V2.2.7x 及以下版本仅支持表上的行级触发器。
一个简单的触发器的触发时机有四个点:
在事件执行之前(语句级别的 BEFORE 触发器)
在事件执行之后(语句级别的 AFTER 触发器)
在每行被事件执行影响之前(行级的 BEFORE 触发器)
在每行被事件执行影响之后(行级的 AFTER 触发器)
一个 DML 语句可能会触发多个简单的触发器,触发执行顺序是:语句级 BEFORE 触发器 -> 行级 BEFORE 触发器 -> 行级 AFTER 触发器 -> 语句级 AFTER 触发器。同一类型的触发器的执行顺序是不确定的,当前暂不支持指定触发器的执行顺序。
触发器可以是简单的,也可以是组合的。OceanBase 数据库当前主要支持以下几种 DML 触发器:
行级触发器
语句级触发器
INSTEAD OF 触发器
INSTEAD OF 触发器创建在不可编辑视图上,可以用于更新视图。
组合触发器
一个组合触发器中可以包含行前、行后、语句前、语句后四种触发事件中的一到四种或只包含一个 INSTEAD OF 触发事件。
最后修改时间:2023-04-09 17:11:20
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【MySQL 30周年庆】MySQL 8.0 OCP考试限时免费!教你免费领考券
墨天轮小教习
2967次阅读
2025-04-25 18:53:11
数据库国产化替代深化:DBA的机遇与挑战
代晓磊
1220次阅读
2025-04-27 16:53:22
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
严少安
851次阅读
2025-04-25 15:30:58
2025年4月国产数据库中标情况一览:4个千万元级项目,GaussDB与OceanBase大放异彩!
通讯员
690次阅读
2025-04-30 15:24:06
数据库,没有关税却有壁垒
多明戈教你玩狼人杀
588次阅读
2025-04-11 09:38:42
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
571次阅读
2025-04-14 09:40:20
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
495次阅读
2025-04-17 17:02:24
一页概览:Oracle GoldenGate
甲骨文云技术
471次阅读
2025-04-30 12:17:56
GoldenDB数据库v7.2焕新发布,助力全行业数据库平滑替代
GoldenDB分布式数据库
466次阅读
2025-04-30 12:17:50
MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?
JiekeXu
435次阅读
2025-04-15 23:49:58