App*_* S. 9 postgresql triggers transactions
我想知道是否间接可能在事务即将提交之前执行触发器?在此触发器中,我将执行一致性检查并在需要时回滚事务.
例如,我有三个表:
users (id, name)
groups (id, name)
user_in_group (user_id, group_id)
Run Code Online (Sandbox Code Playgroud)
我想创建一个触发器,用于验证用户是否始终是组的一部分.不允许孤儿用户.每次插入用户时,此触发器将验证是否还发生了进入user_in_group的相应插入.如果不是,则事务不会提交.
这不能使用简单的基于行或语句的触发器来完成,因为上述场景需要两个单独的语句.
反过来,当从user_in_group中删除时,可以通过基于行的触发器轻松完成.
leo*_*loy 18
你看看到创建约束TRIGGER,与DEFERRABLE (INITIALLY DEFERRED)选择?
| 归档时间: |
|
| 查看次数: |
8542 次 |
| 最近记录: |