Me olvide la ddl de la tabla

CREATE TABLE tbl_paises_tmp
(
  id integer NOT NULL DEFAULT 0,
  pais character varying(30) NOT NULL,
  CONSTRAINT paises_pkey PRIMARY KEY (id) USING INDEX TABLESPACE
ts_clinica_idx
)

---------- Mensaje reenviado ----------
De: Luis A. Zevallos Cárdenas <[email protected]>
Fecha: 15 de mayo de 2009 14:04
Asunto: Setof function problemas...
Para: posgres <[email protected]>


Hola a todos

Una consulta que no entiendo porque me da este error cuando hago una
function utilizando setof

CREATE OR REPLACE FUNCTION sch_desarrollo.reg_paises() RETURNS SETOF
sch_desarrollo.tbl_paises_tmp AS
$BODY$
DECLARE
   reg RECORD;
BEGIN
for reg in SELECT * FROM sch_desarrollo.tbl_paises_tmp loop
   return next reg;
end loop;
return;
END;
$BODY$
LANGUAGE 'plpgsql';

Esto crea la function normal sin errores

Pero cuando la ejecuto

select sch_desarrollo.reg_paises()

Da este error;

************************ERROR****************************
ERROR:  se llamó una función que retorna un conjunto en un contexto que no
puede aceptarlo
CONTEXT:  PL/pgSQL function "reg_paises" line 5 at RETURN NEXT

********** Error **********

ERROR: se llamó una función que retorna un conjunto en un contexto que no
puede aceptarlo
Estado SQL:0A000
Contexto:PL/pgSQL function "reg_paises" line 5 at RETURN NEXT

*********************************************************

Gracias si es que me pueden ayudar

-- 
Luis Zevallos
DBA Administrador de  DB & SRVR
Lobo Sistemas S.A.C
tel: +5154958310833
http://www.lobosistemas.com



-- 
Luis Zevallos
DBA Administrador de  DB & SRVR
Lobo Sistemas S.A.C
tel: +5154958310833
http://www.lobosistemas.com

Responder a