↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3
历史版本。 PostgreSQL 8.3 已结束支持。 请参阅 当前版本手册.

41.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["table_name"] 包含触发器所作用的表的名称,TD["table_schema"] 包含触发器所作用的表的模式,TD["name"] 包含触发器的名称,而 TD["relid"] 包含触发器所作用的表的 OID。如果 CREATE TRIGGER 命令包含参数,它们可以在 TD["args"][0] 到 TD["args"][(n-1)] 中获得。

如果 TD["when"] 是 BEFORE,你可以从 Python 函数返回 None 或 "OK" 表示行未修改,返回 "SKIP" 中止该事件,或返回 "MODIFY" 表示你修改了该行。否则返回值被忽略。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.