PostgreSQL 8.2.3 中文文档
后退快退章40. PL/Python - Python 过程语言快进前进

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["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" 表示你已经修改了该行。


后退首页前进
PL/Python 函数上一级数据库访问