历史版本。 PostgreSQL 7.4 已结束支持。 请参阅 当前版本手册.
40.2. 触发器函数 #
当一个函数被用于触发器时,字典
TD 包含与触发器相关的值。触发器的行在 TD["new"] 和/或 TD["old"]
中,取决于触发器事件。TD["event"] 包含作为字符串的事件(INSERT、UPDATE、DELETE 或 UNKNOWN)。TD["when"] 包含 BEFORE、AFTER 和 UNKNOWN
之一。TD["level"] 包含 ROW、STATEMENT 和 UNKNOWN
之一。TD["name"] 包含触发器的名字,TD["relid"] 包含触发器发生的表的 OID。如果触发器是带参数调用的,这些参数可以在
TD["args"][0] 到
TD["args"][(n-1)] 中得到。
如果 TD["when"] 是 BEFORE,你可以从 Python 函数返回 None 或 "OK"
来表示该行未被修改,返回 "SKIP" 中止该事件,或者返回
"MODIFY" 表示你修改了该行。