表层级结构中的触发器继承

缺省情况下,任何您定义在 GBase 8s 的类型表上的触发器都会被它的子表继承。

在此版本的 GBase 8s 中,一个表可以继承多个由同一的触发事件启用的触发器,因此这些触发器都是为子表上的相同类型的事件所定义的。

在所有版本的 GBase 8s 中,您在子表上设置的触发器会被它的依赖表继承,但是不会对它的超级表起作用。

当您需要在超级表上启用触发器,但不在其的子表上禁用时,该行为十分重要。在此版本中,禁用在表层次结构中的表上的触发器不会影响继承触发器。例如,以下语句对在表层次结构中低于或高于 subtable 的表对象上的触发器没有影响:
SET TRIGGERS FOR subtable DISABLED

类似地,DROP TRIGGER 语句不能除去继承的触发器,而不移除超级表上的触发器。在这种情况下,您必须改为在子表上定义一个没有 Action 子句的触发器。因为触发器未启用,此空的触发器会覆盖继承的触发器并对子表和子表下的任何子表执行,这些子表不需要进一步覆盖。