sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvad er den nemmeste måde at returnere et postsæt fra en PostgreSQL-lagret procedure?

Der er også mulighed for at bruge RETURNS TABLE(...) (som beskrevet i PostgreSQL-manual ), som jeg personligt foretrækker:

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;

Dette er faktisk det samme som at bruge SETOF tablename , men erklærer tabelstrukturen inline i stedet for at referere til et eksisterende objekt, så joinforbindelser og sådan vil stadig fungere.



  1. TOP og ORDER BY sql fejl

  2. Forespørgsel om at tælle de forskellige ord af alle værdier i en kolonne

  3. Hvordan returnerer jeg id'et for den indsatte række ved hjælp af Prepared Statement?

  4. MySQL indsæt ISO8601 Datetime format