有没有办法创建postgres存储函数(使用plpgsql来设置输入参数),返回自定义数据集?
我根据官方手册试图做这样的事情:
CREATE FUNCTION extended_sales(p_itemno int)
RETURNS TABLE(quantity int, total numeric) AS $$
BEGIN
RETURN QUERY SELECT quantity, quantity * price FROM sales
WHERE itemno = p_itemno;
END;
$$ LANGUAGE plpgsql;
但是结果是一个只有一列包含类型(数量,总数)的数组,但是我需要得到两个列数组,数量为'专栏和'总'列。
答案 0 :(得分:1)
猜测你正在跑步:
SELECT extended_sales(1);
这将返回一个复合类型列。如果要扩展,则必须运行:
SELECT * FROM extended_sales(1);
另外,正如@a_horse_with_no_name所说,这里完全不需要PL / pgSQL函数。大概这是一个简化的例子?
将来请包括: