我有一个定义如下的函数:
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
我应该如何更新我的功能或致电以使其正常工作?
答案 0 :(得分:0)
找到它。我有另一个不正确的功能
CREATE OR REPLACE FUNCTION public.somefcn(
_somevar text
)
...
显然,PostgreSQL接受了那个,因为它更适合。