触发器是 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年4月中国数据库流行度排行榜:OB高分复登顶,崖山稳驭撼十强
墨天轮编辑部
1736次阅读
2025-04-09 15:33:27
2025年3月国产数据库大事记
墨天轮编辑部
837次阅读
2025-04-03 15:21:16
2025年3月国产数据库中标情况一览:TDSQL大单622万、GaussDB大单581万……
通讯员
582次阅读
2025-04-10 15:35:48
征文大赛 |「码」上数据库—— KWDB 2025 创作者计划启动
KaiwuDB
490次阅读
2025-04-01 20:42:12
数据库,没有关税却有壁垒
多明戈教你玩狼人杀
472次阅读
2025-04-11 09:38:42
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
452次阅读
2025-04-14 09:40:20
墨天轮个人数说知识点合集
JiekeXu
424次阅读
2025-04-01 15:56:03
MySQL数据库当前和历史事务分析
听见风的声音
415次阅读
2025-04-01 08:47:17
最近我为什么不写评论国产数据库的文章了
白鳝的洞穴
384次阅读
2025-04-07 09:44:54
MySQL 生产实践-Update 二级索引导致的性能问题排查
chengang
379次阅读
2025-03-28 16:28:31