create trigger - 新しいトリガを作ります
create trigger trigname {before|after}
{Event1 [OR Event2 [OR Event3]]}
on relname for each {row|statement}
execute procedure funcname ( arguments )
EventX は INSERT、DELETE、UPDATE のいずれかです
create trigger は現在のデータベースに新しいトリガを入力します。トリガは、リレーションrelnameに関連して、指定されたfuncnameを実行します。
リレーションの所有者のみがそこにトリガを作ることができます。
現在、ステートメントのトリガはインプリメントされていません。
トリガの実行は、タプルに何らかの作業が実行される 前に (例えば、制約をチェックして挿入/更新/削除が実行される前)、もしくは、何らかの作業が実行された後(例えば、制約をチェックして挿入/更新/削除が完了した後)のどちらでも指定できます。もしトリガが 事前 に実行されるなら、現在のタプルになされる作業をとばす、もしくは挿入されるタプルを変更することができます。(挿入/更新の作業に限ります。)もしトリガが 事後 に実行されるなら、最後の挿入/更新/削除などのすべての変更はトリガに見える状態となります。
さらなる情報については SPI と トリガのプログラミングガイドを参照してください。
使用例は配布ソースの contrib に含まれています。