标签: oracle triggers oracle10g
我们正在使用Oracle 10 DB,它使用多个触发器从用作主键的序列中检索值。其中一个触发器是禁用,但它似乎仍在触发,因为表中的记录已成功插入并带有有效的主键。
怎么可能?为什么这个“插入前”触发器仍然有效,尽管它被禁用了?
答案 0 :(得分:2)
我认为只有当insert语句没有提供PK值时,触发器才会调用序列来获取PK值(PK为null)。执行插入的应用程序可能会调用序列并为PK提供值。
也许您可以通过在PK值为null的表中插入记录来自行测试。如果出现错误,则禁用触发器。