PostgreSQL 函数返回多个结果集 [英] PostgreSQL function returning multiple result sets
本文介绍了PostgreSQL 函数返回多个结果集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否可以从 Postgres 函数返回多个结果集,就像在 MSSQL 中一样:
Is it possible to return multiple result sets from a Postgres function, like in MSSQL:
CREATE PROCEDURE test
AS
SELECT * FROM first_table
SELECT * FROM second_table
推荐答案
从 PostgreSQL 8.3 开始:
CREATE FUNCTION test()
RETURNS SETOF first_table AS
$func$
BEGIN
RETURN QUERY
SELECT * FROM first_table;
RETURN QUERY
SELECT * FROM second_table; -- has to return same rowtype as first_table!
END
$func$ LANGUAGE plpgsql;
调用:
SELECT * FROM test();
两个结果集都附加到从函数返回的单个集合中.
请参阅手册RETURN QUERY代码>
.
Both result sets are appended to a single set returned from the function.
See the manual for RETURN QUERY
.
这篇关于PostgreSQL 函数返回多个结果集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文