トリガ関数

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

# 42.6. トリガ関数

トリガとして関数を使用した場合、`TD`辞書にトリガに関連した値が格納されます。

`TD["event"]`

  次のイベントが文字列として格納されます。 `INSERT`、`UPDATE`、`DELETE`、`TRUNCATE`、`UNKNOWN`

`TD["when"]`

  `BEFORE`、`AFTER`、または`UNKNOWN`のいずれかが格納されます。

`TD["level"]`

  `ROW`、`STATEMENT`または`UNKNOWN`のいずれかが格納されます。

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

前のページ | ホーム | 次のページ
匿名コードブロック | 上に戻る | データベースアクセス