GBase 8s 的触发器类型的布尔运算符可在运行时测试当前正在执行的触发器活动是否是通过 DML 事件的指定的类型触发了的。这些运算符不使用操作对象。
如果当前正在执行的触发器的触发事件是对应于操作符的名称的 DML 操作,则这些操作符返回 TRUE ('t'),否则它们返回 FALSE ('f')。在 IF 语句中,在 CASE 表达式中,以及在布尔条件为有效的 SPL 触发器例程内的其他上下文中,这些操作符是有效的。
IF (INSERTING = 't') THEN LET square = NEW.X * NEW.X ELIF (DELETING = 't') THEN LET square = 0
仅在表上触发器或(对于 DELETING、INSERTING 和 UPDATING运算符)在视图上 INSTEAD OF 触发器的 FOR EACH ROW 触发的活动中调用的触发器 UDR 中,SELECTING、DELETING、INSERTING 和 UPDATING 运算符才是有效的。如果您尝试在任何其他的上下文中使用触发器类型的布尔运算符,则发出错误。