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

Itagaki Takahiro itagaki.takahiro @ gmail.com
2011年 6月 24日 (金) 22:16:28 JST


2011/6/24 Tsunezumi <tsunezumi @ efficlabo.com>:
> これはトリガーEがS1にあるため、S2のストアドCがS1のテーブルを見にいってしまっているようでした。

スキーマ指定をしない場合、デフォルトのスキーマ検索パスで見つかった
最初のテーブルやスキーマを選択したことになります。
異なるスキーマに同じ名前のオブジェクトがある場合、
「スキーマ.名前」の形式でアクセスする必要があるのではないでしょうか?
(S1.テーブルA, S2.ストアドC() など)

動作としては同じですが、CREATE FUNCTION 時に SET search_path で
検索するスキーマを設定する方法もあります。
http://www.postgresql.jp/document/current/html/sql-createfunction.html
の SET オプション

-- 
Itagaki Takahiro


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