SETOF come ritorno delle funzioni - Mailing list pgsql-general

From Piviul
Subject SETOF come ritorno delle funzioni
Date
Msg-id 50B8A1B8.3050500@riminilug.it
Whole thread Raw
Responses Re: SETOF come ritorno delle funzioni  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-general
Ciao a tutti, avrei bisogno di creare una funzione che restituisca un
insieme di record. Ho visto che è possibile fare restituire ad una
funzione una tabella di cui si definiscono i campi all'interno della
funzione stessa

CREATE FUNCTION foo() RETURNS TABLE(id INT, foo TEXT)

Poi nel corpo provo a costruirmi il record da restituire con RETURN NEXT
ma mi da un errore: RETURN NEXT non può avere un parametro in una
funzione con parametri OUT a o vicino "r" dove "r" è la variabile di
tipo record che vorrei accodare all'output.

Vorrei in altre parole fare una funzione tipo:

CREATE OR REPLACE FUNCTION magazzino.foo()
RETURNS TABLE(id INT, nome TEXT) AS
$pippo$
DECLARE
   r RECORD;
BEGIN
    FOR r in
       SELECT id::int, nome::text
       FROM foo
    LOOP
        RETURN NEXT r;
    END LOOP;
    RETURN;
END;
$pippo$ LANGUAGE plpgsql;

Cosa sbaglio?

Piviul


pgsql-general by date:

Previous
From: ivan marchesini
Date:
Subject: Re: difference in query performance due to the inclusion of a polygon geometry field
Next
From: rahul143
Date:
Subject: [SQL] Calling Functions in RULEs