1

我们正在使用 Oracle 10 DB,它使用多个触发器从用作主键的序列中检索值。其中一个触发器被禁用,但它似乎仍在触发,因为表中的记录已使用有效的主键成功插入。

这怎么可能?为什么这个“插入前”触发器在被禁用后仍然有效?

4

1 回答 1

2

我认为只有在插入语句不提供 PK 值(PK 为空)时,触发器才会调用序列来获取 PK 值。执行插入的应用程序可能会调用序列并为 PK 提供一个值。

也许您可以通过在表中插入一条 PK 值为空的记录来自己测试它。如果您收到错误,触发器将被禁用。

于 2012-06-13T09:18:08.900 回答