OB上支持触发器吗?什么场景下才会要写触发器呢
1 个赞
OceanBase支持触发器功能,主要用于数据库表操作(如INSERT、UPDATE、DELETE)的自动响应。 12
触发器类型
OceanBase支持以下触发器类型:
- 行级触发器:在表受操作时逐行触发,适用于实体表。 1
- 语句级触发器:无论操作多少行数据均触发一次,适用于实体表。 12
- INSTEAD OF 触发器:用于视图,可修改无法直接修改的视图。 1
- 组合DML触发器:支持在多个时间点触发,适用于表或视图。 1
触发时机
可设置为在操作前或后触发,例如:
- BEFORE INSERT/UPDATE/DELETE:在插入/更新/删除前执行。
- AFTER INSERT/UPDATE/DELETE:在操作完成后执行。 23
使用限制
- 触发器内部对基表的操作需谨慎,可能引发递归调用或死锁问题。 3
- 创建触发器需具备基表操作权限及CREATE TRIGGER权限。 24