14.56.?ux_trigger

目录ux_trigger存储表和视图上的触发器。详见CREATE TRIGGER

表?14.56.?ux_trigger的列

名称类型引用描述
oidoid?行标识符(隐藏属性,必须被显式选择才会显示)
tgrelidoidux_class.oid触发器所在的表
tgnamename?触发器名(在同一个表的触发器中必须唯一)
tgfoidoidux_proc.oid要被触发器调用的函数
tgtypeint2?触发器触发条件的位掩码
tgenabledchar? 控制触发器在session_replication_role模式中的触发。 O = 触发器在originlocal模式触发, D = 触发器被禁用, R = 触发器在replica模式触发, A = 触发器总是触发。
tgisinternalbool?为真表示触发器是内部生成的(通常是为了强制由tgconstraint指定的约束)
tgconstrrelidoidux_class.oid被一个引用完整性约束引用的表
tgconstrindidoidux_class.oid支持一个唯一、主键、引用完整性约束或者排除约束的索引
tgconstraintoidux_constraint.oid可能存在的与触发器相关的ux_constraint
tgdeferrablebool?如果约束触发器可推迟则为真
tginitdeferredbool?如果约束触发器初始可推迟则为真
tgnargsint2?传递给触发器函数的参数字符串个数
tgattrint2vectorux_attribute.attnum如果触发器是列限定的,这里存放列号;否则这是一个空数组
tgargsbytea?传递给触发器的参数字符串,每一个都以NULL结尾
tgqualux_node_tree?触发器WHEN条件的表达式树(以nodeToString()的表现形式),如果没有则为空
tgoldtablename?OLD TABLEREFERENCING列名称, 或者没有时为null
tgnewtablename?NEW TABLEREFERENCING列名称, 或者没有时为null

当前,列限定触发器只被UPDATE事件支持,因此tgattr只用于这种事件类型。tgtype页可以包含用于其他事件类型的位,但其他事件类型是表范围的触发器且会忽略tgattr

注意

tgconstraint非零时,tgconstrrelidtgconstrindidtgdeferrabletginitdeferred与被引用的ux_constraint项有很大的冗余。但是,存在将一个不可延迟触发器关联到一个可延迟约束的可能性:外键约束可以有一些可延迟和一些不可延迟触发器。

注意

如果一个关系在本目录中拥有任何触发器,其ux_class.relhastriggers必须为真。

XML 地图 | Sitemap 地图