用 DELETE 语句 或 UPDATE 语句的 WHERE 子句中的子查询语法使用 Condition 的子查询不能是 Select 触发器的触发事件。在以下示例中,该子查询不是定义在 tab1 的 col2 上的 Select 触发器的触发事件:
DELETE tab1 WHERE EXISTS (SELECT col2 FROM tab1 WHERE col2 > 1024);
但是,在同一示例的 DELETE 操作,激活定义在 tab1 上的 Delete 触发器。tbl1 上的 Select 触发器不会被通过修改子查询的 FORM 子句中引用的表的 DELETE 语句中的子查询激活。
类似地,以下语句中的 WHERE 子句的子查询不是定义在 tab1 的 col3 上的 Select 触发器的触发事件:
UPDATE tab1 SET col3 = col3 + 10 WHERE col3 > ANY (SELECT col3 from tab1 WHERE col3 > 1);
相同的示例会激活定义在 tbl 的 col3 上的 Update 触发器,但是此子查询不会更改 Select 触发器。有关 Select 触发器的其它限制,请参阅 Select 触发器未激活时的情况。