我要编写一个触发器来检查一些插入/更新的信息,将它们与数据库中的数据进行比较,如果它们不正确,则停止整个操作。我在触发器(每个)之前编写,然后如果出现问题,则抛出应用程序异常,但它不起作用,因为我从更新的表中读取,所以我得到 ORA-04091 错误。
现在我想知道如何解决这个问题?现在我唯一的想法是编写一个前触发器,将一些必要的数据插入到包中,并使用后触发器读取它们,这不是每个都适用的。但是有一个问题如何中止这个版本?如果我进行回滚,它将撤消此事务中我认为不明智的所有操作。你将如何解决这个问题?