Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要在 syc 中保留两个表,因此当在表 A 中插入行并且其中一个列具有一定条件时,应在表 B 中添加记录。此外,当在表 B 中插入行时,应在表 A 中添加记录。如何这使用触发器完成。我在插入后对两个表都有触发器,但给出了 ORA-04091 错误。
使用复合触发器检查记录是否针对特定条件退出,然后不要进一步触发以避免循环依赖。
Table is mutating,这意味着您正在从中选择它同时受到插入(或更新)的影响。从 11g 开始,复合触发器就是解决之道。在早期的 Oracle 版本(10g 和更低版本)中,已经使用包来处理它。
然而,mutating table 经常会引发一个问题:你做对了吗?也许您使用的代码可以重写,以避免错误。
最后,如果这两个表包含相同的数据,为什么你有两个表而不是一个?