| From: | Piviul <piviul(at)riminilug(dot)it> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | SETOF come ritorno delle funzioni |
| Date: | 2012-11-30 12:08:24 |
| Message-ID: | 50B8A1B8.3050500@riminilug.it |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Kevin Grittner | 2012-11-30 13:08:06 | Re: postgres timestamp data errors |
| Previous Message | Albe Laurenz | 2012-11-30 11:56:12 | Re: difference in query performance due to the inclusion of a polygon geometry field |