sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cuál es la forma más fácil de devolver un conjunto de registros desde un procedimiento almacenado de PostgreSQL?

También existe la opción de utilizar RETURNS TABLE(...) (como se describe en la Manual de PostgreSQL ), que personalmente prefiero:

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;

Esto es efectivamente lo mismo que usar SETOF tablename , pero declara la estructura de la tabla en línea en lugar de hacer referencia a un objeto existente, por lo que las uniones y demás seguirán funcionando.