在我的项目中,有一个数据库触发器可从应用程序获取输入。应用程序填充一个表,触发器将表行作为输入,并填充另一个表作为输出。触发器多年来一直表现良好。
几个月前,由于大量输入,触发器开始失败,这是一个普遍的例外。手动尝试重新处理错误的输入时,它们将得到正确处理。因此,现在我编写了第二个触发器,该触发器搜索错误的条目,并将其状态更新为“未处理”,并且原始触发器可以正确处理它们。
虽然解决了这个问题,但我仍然无法弄清楚为什么最初出现错误的原因。如果是触发问题,则可以使用相同的输入来重现该问题,但事实并非如此。再次处理后,所有错误输入都会以鲜艳的色彩传递。
这里可能是什么问题? Oracle DB触发器什么时候输入会引发一般异常,而输入相同的输入不会再次出现?