Một cách đơn giản hơn đã có từ 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;
Gọi:
SELECT * FROM test();
Cả hai tập hợp kết quả đều được nối vào một tập hợp duy nhất được trả về từ hàm.
Xem hướng dẫn sử dụng cho RETURN QUERY
.