当函数用作触发器时,字典 TD
包含触发器相关的值
TD["event"]
包含事件的字符串:INSERT
、UPDATE
、DELETE
或 TRUNCATE
。
TD["when"]
包含 BEFORE
、AFTER
或 INSTEAD OF
之一。
TD["level"]
包含 ROW
或 STATEMENT
。
TD["new"]
TD["old"]
对于行级触发器,这些字段中的一者或两者包含各自的触发器行,具体取决于触发器事件。
TD["name"]
包含触发器名称。
TD["table_name"]
包含发生触发器的表的名称。
TD["table_schema"]
包含发生触发器的表的模式。
TD["relid"]
包含发生触发器的表的 OID。
TD["args"]
如果 CREATE TRIGGER
命令包含参数,则它们在 TD["args"][0]
到 TD["args"][
中可用。n
-1]
如果 TD["when"]
为 BEFORE
或 INSTEAD OF
且 TD["level"]
为 ROW
,则可以从 Python 函数返回 None
或 "OK"
以指示行未修改,返回 "SKIP"
以中止事件,或者如果 TD["event"]
为 INSERT
或 UPDATE
,则可以返回 "MODIFY"
以指示已修改新行。否则,返回值将被忽略。
如果您在文档中看到任何不正确的内容、与您对特定功能的体验不符的内容或需要进一步说明的内容,请使用 此表单 报告文档问题。