From: | Alberto Cuevas <betocuevas(dot)net(at)gmail(dot)com> |
---|---|
To: | "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Funcion con RETURNS SETOF record |
Date: | 2016-01-19 15:46:27 |
Message-ID: | CA+mENxohGJ3dQX4xTqcm+NfXgL2pnAsKb+iY7=WHOMNAPQZb-A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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.
From | Date | Subject | |
---|---|---|---|
Next Message | Anthony Sotolongo | 2016-01-19 15:54:48 | Re: Funcion con RETURNS SETOF record |
Previous Message | Horacio Miranda | 2016-01-14 23:47:01 | Re: Ayuda a conexion |