用户定义的函数和过程包括触发例程可以是触发操作。FOR EACH ROW 子句的操作列表可以包含调用 mi_trigger*( ) 函数的 UDR 。只有 GBase 8s 中的触发例程的上下文中的触发操作能被调用。有关触发例程的语法和调用内容的限制,请参阅 REFERENCING 和 FOR 子句。
您可以使用 EXECUTE FUNCTION 语句调用任何用户定义的函数或触发器函数。使用 EXECUTE PROCEDURE 语句调用热河用户定义的过程或触发器过程。
在 Boolean 表达式有效的上下文中,Boolean 运算符 SELECTING 、INSERTING 、DELETING 和 UPDATING 在触发例程中都有效,且在其它在触发操作语句调用的 UDR 中也是有效的。如果触发事件与符合运算符名称的 DML 操作相匹配,则这些运算符返回 TRUE('t');否则返回 FALSE('f')。一个触发例程可以设计成为不同种类的触发事件执行不同触发操作,使用这些 Boolean 运算符执行与触发器类型相适合的程序块。
有关使用 SPL 例程作为触发操作的限制,请参阅 SPL 例程的规则和触发器和 SPL 例程。