[pgsql-jp: 28993] トリガプロシジャーについて

TFL)久村 孝之 hisamura.takayuki @ tfl.fujitsu.com
2003年 2月 10日 (月) 13:11:57 JST


こんにちは。久村です。
初めて投稿いたします。

テーブルの更新後にトリガを使用して、自作のC言語関数を呼び出している
のですが、このときC言語関数に更新行のデータを渡すことは可能でしょう
か。
更新行のデータとは、PL/pgSQLを利用したときの、NEWやOLDの情報です。
TriggerData構造体のメンバーtg_trigtupleを利用すれば取得できそうなの
ですが、マニュアルにその点は詳しく書かれていません。
マニュアルは以下を参照しました。
 http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/triggers.html

たとえば、以下のようなテーブルがあったとします。
 CREATE TABLE TT ( data1 INTEGER, data2 INTEGER );
このテーブルにデータを1件インサートした時点で、トリガにより起動さ
れたC言語関数で、インサートされたdata1、data2の値を取得したいと思っ
ています。
#TriggerData構造体をこのような用途に使うことが、この構造体が用意さ
 れているの意図と異なっているような気もしますが。

当方の環境は以下の通りです。
 OS        :Linux 2.2.14-5.0
 PostgreSQL:7.2.1

どなたか実装されている方がいらっしゃいましたらご教授お願いいたします。

以上
---------------------------------------------------------------------
久村 孝之
e-mail:hisamura.takayuki @ tfl.fujitsu.com
---------------------------------------------------------------------




pgsql-jp メーリングリストの案内