如何忽略(INSERT, UPDATE, DELETE)
a 中的所有类型的表修改FOR EACH STATEMENT
TRIGGER
而不抛出/引发EXCEPTION
取消整个事务?
我知道它可以通过在 的末尾BEFORE
FOR EACH ROW
返回来在触发器上实现,但这不适用于函数调用,因为它们总是返回并且仍然应用修改。NULL
TRIGGER FUNCTION
FOR EACH STATEMENTs
NULL
(我这样做的动机是提高性能,因为 FOR EACH STATEMENT 触发器比 FOR EACH ROW 更轻)
没有办法做到这一点。
使用该
REFERENCING
子句的转换表已经被淘汰,因为它们只能在AFTER
触发器中使用。您可以使用带有触发器的视图
INSTEAD OF
,该触发器在某些情况下仅修改基础表,但语句级INSTEAD OF
触发器仅在事件由行级INSTEAD OF
触发器处理时才会触发,这违背了您的意图。