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屋!
查看全文