多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 43.6\. Trigger Functions When a function is used as a trigger, the dictionary `TD` contains trigger-related values: `TD["event"]` contains the event as a string: `INSERT`, `UPDATE`, `DELETE`, or `TRUNCATE`. `TD["when"]` contains one of `BEFORE`, `AFTER`, or `INSTEAD OF`. `TD["level"]` contains `ROW` or `STATEMENT`. `TD["new"]``TD["old"]` For a row-level trigger, one or both of these fields contain the respective trigger rows, depending on the trigger event. `TD["name"]` contains the trigger name. `TD["table_name"]` contains the name of the table on which the trigger occurred. `TD["table_schema"]` contains the schema of the table on which the trigger occurred. `TD["relid"]` contains the OID of the table on which the trigger occurred. `TD["args"]` If the `CREATE TRIGGER` command included arguments, they are available in `TD["args"][0]` to `TD["args"][``_n_`-1]. If `TD["when"]` is `BEFORE` or `INSTEAD OF` and `TD["level"]` is `ROW`, you can return `None` or `"OK"` from the Python function to indicate the row is unmodified, `"SKIP"` to abort the event, or if `TD["event"]` is `INSERT` or `UPDATE` you can return `"MODIFY"` to indicate you've modified the new row. Otherwise the return value is ignored.