より簡単な方法は、PostgreSQL8.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();
両方の結果セットは、関数から返される1つのセットに追加されます。
RETURN QUERY
のマニュアルを参照してください。 。