他のバージョンの文書 16 | 15 | 14 | 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 | 7.2

40.2. トリガ関数

トリガとして関数を使用した場合、TD辞書にトリガに関連した値が格納されます。 トリガの行は、トリガイベントに応じて、TD["new"]TD["old"]のどちらかまたは両方に格納されます。 TD["event"]には、(INSERTUPDATEDELETEまたはUNKNOWNという)文字列としてイベントが格納されます。 TD["when"]には、BEFOREAFTER、およびUNKNOWNのいずれかが格納されます。 TD["name"]には、トリガ名称が、TD["table_name"]にはトリガの発生元のテーブルの名前が、TD["table_schema"]にはトリガの発生元のテーブルのスキーマが格納されます。 TD["level"]には、ROWSTATEMENT、およびUNKNOWNのいずれかが格納されます。 TD["name"]にはトリガの名前が、TD["relid"]にはトリガの発生元テーブルのOIDが格納されます。 CREATE TRIGGERに引数が含まれていた場合、その引数はTD["args"][0]からTD["args"][(n -1)]までとして使用することができます。

TD["when"]BEFOREの場合、Pythonの関数から、行が変更されないことを示すNoneまたは"OK"、イベントを中断したことを示す"SKIP"、または行を変更したことを示す"MODIFY"を返すことができます。