2011年6月24日

[pgsql-jp: 40818]スキーマ間のトリガー

お世話になります。恒住と申します。

トリガーがうまくいかないので、質問させてください。
Windows,Postgresql8.4.8

1つのDBに同構成のスキーマを二つ用意します。(S1,S2)
もともと1つのスキーマで処理されるようになっています。
テーブルA、テーブルB、ストアドC、テーブルDが両方のスキーマにあります。


S1にテーブルAを監視するトリガーを作成し、
テーブルAが更新されれば、S2のテーブルBを更新し、
S2にあるストアドCを実行し、S2のテーブルBを元にS2のテーブルDを更新したいと考えています。

まずしたことですが、
?S1にテーブルAを監視するトリガーEを作成しました。
?トリガーEで使用するストアドFをS1に作成しました。
 ストアドFはS2のテーブルBを更新し、S2にあるストアドCを実行するプログラムです。

上記を実行すると、
S2のテーブルBまでは更新されるのですが、S2のテーブルDは更新されません。
これはトリガーEがS1にあるため、S2のストアドCがS1のテーブルを見にいってしまっているようでした。


次にしたことが、
?S1にテーブルAを監視するトリガーEを作成しました。
?トリガーEで使用するストアドFをS1に作成しました。
 ストアドFはS2のテーブルBを更新するプログラムです。
?S2にテーブルBを監視するトリガーGを作成しました。
?トリガーGで使用するストアドHをS2に作成しました。
 ストアドHはS2にあるストアドCを実行するプログラムです。

この構成を実行しても、上と同様テーブルDは更新されません。


結局はストアドCにスキーマを指定する必要があるのでしょうか?


よろしくお願いします。


投稿者 xml-rpc : 2011年6月24日 19:43
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/104675
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。