我需要在我的主查询中添加一个函数。主查询具有where子句和“IN”(例如:Where id IN (3,4,2)
)。我需要一个函数将所需的id插入到这个IN中。
CREATE OR REPLACE FUNCTION getItemID(groupid integer)
RETURNS SETOF item AS $BODY$
BEGIN
RETURN QUERY
SELECT item_id
FROM item
WHERE group_id=groupid
END; $BODY$
LANGUAGE plpgsql;
ALTER FUNCTION getItemID(groupid integer) OWNER TO postgres;
这会导致出现错误
ERROR: RETURN cannot have a parameter in function returning set; use RETURN NEXT at or near "QUERY" at character ...
无论如何,有人能给出任何解决方案吗?我对函数非常陌生。另外,我需要测试函数返回的值是否正确。