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

Quel est le moyen le plus simple de renvoyer un jeu d'enregistrements à partir d'une procédure stockée PostgreSQL ?

Il est également possible d'utiliser RETURNS TABLE(...) (comme décrit dans le Manuel PostgreSQL ), que je préfère personnellement :

CREATE OR REPLACE FUNCTION get_countries()
RETURNS TABLE(
    country_code text,
    country_name text
)
AS $$
    SELECT country_code, country_name FROM country_codes
$$ LANGUAGE sql;

C'est effectivement la même chose que d'utiliser SETOF tablename , mais déclare la structure de la table en ligne au lieu de faire référence à un objet existant, donc les jointures et autres fonctionneront toujours.