From: | Anthony Sotolongo <asotolongo(at)gmail(dot)com> |
---|---|
To: | Alberto Cuevas <betocuevas(dot)net(at)gmail(dot)com>, "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Funcion con RETURNS SETOF record |
Date: | 2016-01-19 15:54:48 |
Message-ID: | 569E5C48.4030901@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola Alberto las funciones que devuelven RECORD es bueno y necesario
castear el resultado con as (...):
intenta haciendo:
SELECT * from f_xconsulta('01') as (campo1 CHAR(2), campo2 VARCHAR(20));
saludos
On 19/01/16 12:46, Alberto Cuevas wrote:
> Hola estoy haciendo unas pruebas para usar una función con RETURNS
> SETOF record, con los siguiente:
>
> CREATE TABLE XPERSONA (
> COD_PER CHAR(2),
> NOM_PER VARCHAR(20));
>
> INSERT INTO XPERSONA VALUES ('01', 'ALBERTO');
> INSERT INTO XPERSONA VALUES ('02', 'CARLOS');
> INSERT INTO XPERSONA VALUES ('03', 'JUAN');
>
> CREATE OR REPLACE FUNCTION public.f_xconsulta(character varying)
> RETURNS SETOF record AS
> $BODY$
> DECLARE
> codigo ALIAS FOR $1;
> _registro record;
>
> BEGIN
>
> FOR _registro IN
> SELECT COD_PER,
> NOM_PER
> FROM XPERSONA
> WHERE COD_PER = codigo
> loop
> return next _registro;
>
> END LOOP;
>
> RETURN;
> END;
>
> $BODY$
> LANGUAGE 'plpgsql' VOLATILE
> COST 100
>
> ROWS 1000;
>
>
> Pero al ejecutar:
>
> SELECT f_xconsulta('01');
>
> Me muestra el siguiente mensaje en PGAdmin:
>
> ERROR: se llamó una función que retorna un conjunto en un contexto que
> no puede aceptarlo CONTEXT: función PL/pgSQL f_xconsulta(character
> varying) en la línea 17 en RETURN NEXT
>
> ********** Error **********
>
> ERROR: se llamó una función que retorna un conjunto en un contexto que
> no puede aceptarlo SQL state: 0A000 Context: función PL/pgSQL
> f_xconsulta(character varying) en la línea 17 en RETURN NEXT
>
> Me podrian dar una mano por favor. Uso Postgresql 9.4.5.
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Hellmuth Vargas | 2016-01-19 15:55:03 | Re: Funcion con RETURNS SETOF record |
Previous Message | Alberto Cuevas | 2016-01-19 15:46:27 | Funcion con RETURNS SETOF record |