From: | Sebastián Villalba <sebastian(at)fcm(dot)unc(dot)edu(dot)ar> |
---|---|
To: | "Lista Ayuda Pgsql" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RETURN NEXT retorna solamente uno |
Date: | 2006-10-10 02:24:37 |
Message-ID: | 20061010021107.M59072@fcm.unc.edu.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola a todos. Tengo una función en plpgsql con PostgreSQL-8.1.4 en Linux. La
función es bastante compleja, por eso no la pongo. Si creen que es
imprescindible lo puedo hacer, pero créanme que ninguno se querría tomar el
trabajo de analizarla.
Les paso algunos datos importantes de la misma:
CREATE OR REPLACE FUNCTION "selectActividadInscripto"(integer) RETURNS SETOF
"actividadPerfilArancel"
"actividadPerfilArancel" es un TYPE creado y funcionando. Luego:
DECLARE resultado "actividadPerfilArancel"%ROWTYPE; BEGIN SELECT INTO
resultado DISTINCT....
Hago la consulta y cuando termino pregunto "IF NOT FOUND THEN" y hago otra
consulta que devuelve el mismo tipo. Cuando termina ésta segunda consulta hago
un "ELSEIF NOT FOUND THEN" y formo un registro del mismo tipo que retorno con
todos sus valores nulos. Finalmente hago: ... "END IF; RETURN NEXT resultado;
END;". La función se crea correctamente, y se ejecuta. Pude ver mediante RAISE
EXCEPTION dentro de los IF, cuál es la consulta que genera resultados y es la
primera de todas. A esa misma consulta la pongo como una consulta individual y
me trae mas rows cambiandole el "$1" por el mismo integer que envío por
parámetro. Será que tengo mal definido el tipo de retorno o que lo retorno
mal?. Saludos y muchas gracias...
-
-------------------------------------------
Sebastián Villalba
sebastian(at)fcm(dot)unc(dot)edu(dot)ar
-------------------------------------------
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2006-10-10 05:38:04 | Re: Command Prompt --- como se usa? |
Previous Message | Sebastián Villalba | 2006-10-10 01:05:05 | Re: Problemas con CREATELANG |