从 plpgsql 函数返回多行
Posted
技术标签:
【中文标题】从 plpgsql 函数返回多行【英文标题】:Return multiple rows from plpgsql function 【发布时间】:2013-08-31 23:29:08 【问题描述】:我有以下功能:
CREATE OR REPLACE FUNCTION function1() RETURNS TABLE(foo1 VARCHAR, foo2 VARCHAR) AS $$
BEGIN
RETURN QUERY SELECT e.col1, e.col2 FROM my_table e;
END;
$$ LANGUAGE plpgsql;
它返回如下内容:
function1
record
|--------------|
(a,b)
(c,d)
但我希望得到类似于这样的查询的结果:
SELECT e.col1, e.col2 FROM my_table e;
col1 col2
|-----|-----|
a b
c d
因为我想执行函数 a 获取 java resultSet 中的分隔列值并迭代它们。谢谢!
【问题讨论】:
RETURN QUERY-Record in PostgreSQL的可能重复 【参考方案1】:你需要做的
select * from function1();
【讨论】:
以上是关于从 plpgsql 函数返回多行的主要内容,如果未能解决你的问题,请参考以下文章
从 plpgsql 函数中获取 Java ResultSet 的返回值