cross-database references are not implemented

PostgreSQL の PL/pgSQL のトリガーで 以下のようなエラーがでることがあります。

ERROR:  cross-database references are not implemented: test.table1.column1
CONTEXT:  compilation of PL/pgSQL function "test_af_chg" near line 4

原因のひとつとして、PL/pgSQL プログラム内の 変数の定義で %TYPE が抜けてる場合があります。

DECLARE
   wk_column1 test.table1.column1;

この場合、上記のエラーがでます。

正しくは、下のようになります。

DECLARE
   wk_column1 test.table1.column1%TYPE;

意外と気づきにくいです。

Google サイト内検索

Amazonアソシエイト