トリガ関数

PostgreSQL 8.4.1文書
前のページ | 巻戻し | 第 41章PL/Python - Python手続き言語 | 早送り | 次のページ

# 41.2. トリガ関数

トリガとして関数を使用した場合、`TD`辞書にトリガに関連した値が格納されます。`TD["event"]`には、（`INSERT`、`UPDATE`、`DELETE`、`TRUNCATE`、または`UNKNOWN`という）文字列としてイベントが格納されます。`TD["when"]`には、`BEFORE`、`AFTER`、または`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"`を返すことができます。さもなければ、戻り値は無視されます。

前のページ | ホーム | 次のページ
PL/Python関数 | 上に戻る | データベースアクセス