當函式用作觸發器時,字典 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"
來表示您已修改新行。否則,返回值將被忽略。
如果您在文件中發現任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用此表格報告文件問題。