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

41.2. トリガ関数

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

TD["when"]BEFOREで且つ、TD["level"]ROWの場合、Pythonの関数から、行が変更されないことを示すNoneまたは"OK"、イベントを中断したことを示す"SKIP"、または行を変更したことを示す"MODIFY"を返すことができます。さもなければ、戻り値は無視されます。