1

次のように定義された関数があります。

CREATE OR REPLACE FUNCTION public.somefcn(
  _somevar enum_my_type
)
RETURNS integer AS
$body$
DECLARE
   ret_id INTEGER
BEGIN
  INSERT INTO mytable(somevar) VALUES (_somevar) RETURNING id INTO ret_id;
  RETURN ret_id;
END;
$body$
LANGUAGE 'plpgsql'

これをこう呼ぶと

SELECT somefcn('validenumitem');

次のエラーが表示されます。

エラー: 列 "somevar" は enum_my_type 型ですが、式は text 型です

関数または呼び出しを更新して機能させるにはどうすればよいですか?

4

1 に答える 1

0

それを見つけた。私は別の間違った機能を持っていました

CREATE OR REPLACE FUNCTION public.somefcn(
  _somevar text
)
...

どうやら、PostgreSQL はそれを採用したようです。

于 2013-03-01T15:17:21.640 に答える