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

Qual è il modo più semplice per restituire un recordset da una stored procedure PostgreSQL?

C'è anche la possibilità di usare RETURNS TABLE(...) (come descritto nel Manuale di PostgreSQL ), che personalmente preferisco:

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;

Questo è effettivamente lo stesso che usare SETOF tablename , ma dichiara la struttura della tabella inline invece di fare riferimento a un oggetto esistente, quindi i join e simili continueranno a funzionare.