我正在尝试创建一个返回多行的 postgresql 函数。代码如下所示:
CREATE OR REPLACE FUNCTION getallwidgets()
RETURNS SETOF widgets AS
$BODY$
SELECT * FROM widgets;
$BODY$
LANGUAGE sql VOLATILE
COST 100
ROWS 1000;
ALTER FUNCTION getallwidgets()
OWNER TO postgres;
当我使用 pgadmin3 测试此代码时,我得到一列数据,每个字段用逗号分隔。我想知道的是如何列出各个字段,这样当我在调用存储过程的代码中循环访问数据集时,我可以按列名引用每个字段。
谢谢。
编辑 1
在 pgadmin3 中,当我运行脚本时,在输出窗格中,我在 ONE 列中获得以下数据:
(1, "widget1","this is my description", 1)
(2, "another widget","description2", 3)
换句话说,我得到两行,上面的数据出现在一列中。我期待:
id name description user_id
1 "widget1" "this is my description" 1
2 "another widget" "description2" 3