おそらく、名前の競合が発生しています。パラメータ名(IN
およびOUT
パラメータ)は、関数本体(ほぼ)のどこにでも表示され、修飾されていない列名よりも優先されます。 col1
を宣言しましたか 関数の変数として?
競合を回避するには、 table-qualify 列名:
SELECT b.col1 FROM tableb b WHERE b.aID = NEW.ID;
いずれにせよ、これは良い習慣です。
通常、テーブルの列と競合しないように、変数名にプレフィックスを付けることもお勧めします。いいね:_col1
。