PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Fonction PostgreSQL renvoyant plusieurs ensembles de résultats

Un moyen plus simple existe depuis 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;

Appel :

SELECT * FROM test();

Les deux jeux de résultats sont ajoutés à un seul jeu renvoyé par la fonction.
Voir le manuel pour RETURN QUERY .