作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从 PostgreSQL 9.0 函数获取数据集,但无法使用存储过程。
这周我是 Postgres 的新手,所以让我解释一下我的术语:
在 pgAdmin III 中我可以输入命令:
SELECT * FROM member;
并接收以下数据输出:
memberid membername
1 Bill Smith
2 Joe Smith
我尝试创建许多函数(表/SETOF 等),非常像:
CREATE OR REPLACE FUNCTION get_all_members()
RETURNS SET OF member AS
'select * from member;'
当我在 pgAdmin 中运行它们(或从程序中调用它们)时,我得到以下信息:
SELECT get_all_members()
结果:
get_all_members
member
(1, "Bill Smith")
(2, "Joe Smith")
有没有办法像直接输入 SQL 命令一样从 FUNCTION(存储过程)中将其作为数据集获取。
非常感谢您的帮助!!!
最佳答案
您可以通过稍微修改您的 select 语句来获得每列输出,如下所示:
SELECT * FROM get_all_members()
这将像正常查询一样逐列输出。
参见 set returning functions在文档中。
关于postgresql - 如何从PostgreSQL 9.0函数中获取数据集("stored procedure"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13110649/
我是一名优秀的程序员,十分优秀!