"CREATE TRIGGER" SQL 09/25/97 日本語PostgreSQL

名称

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 に含まれています。

参照

trigger(l) .