PostgreSQL - Ayuda con Funcion

 
Vista:

Ayuda con Funcion

Publicado por Gisella (1 intervención) el 06/08/2009 20:05:16
Hola, soy nuevo en el tema de base de Datos Postgres.
Estoy realizando una funcion que me retorna un record , el procedimiento ya lo he utilizado en otras funciones y no he te nido problemas. Este es la funcion

CREATE OR REPLACE FUNCTION csmtc.prueba1(date1 character varying, date2 character varying, hora1 character varying,hora2 character varying)
RETURNS SETOF record AS
$BODY$
DECLARE
fec1 character varying;
fec2 character varying;
r record;
--diffInInterval Interval;
--diffInInteger Integer := 0;
BEGIN
fec1=date1 | | ' ' | | hora1;
fec2=date2 | | ' ' | | hora2;

for r in select pro_codigo,pro_codigo from csmtc.tmc_mencom where mec_feccomun between fec1 and fec2;

loop
return next r;
end loop;

return;
end;

END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100
ROWS 1000
ALTER FUNCTION csmtc.prueba1(character varying,character varying,character varying,Character varying) OWNER TO postgres;

Y cuando lo ejecuto me sale el siguiente error ,

ERROR: missing "LOOP" at end of SQL expression
CONTEXT: compile of PL/pgSQL function "prueba1" near line 14

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

ERROR: missing "LOOP" at end of SQL expression
SQL state: 42601
Context: compile of PL/pgSQL function "prueba1" near line 14
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con Funcion

Publicado por Gabriel Sánchez (22 intervenciones) el 08/09/2009 02:57:16
for r in select pro_codigo,pro_codigo from csmtc.tmc_mencom where mec_feccomun between fec1 and fec2 loop

return next r;

end loop;

el (;) entre fec2 y loop está por demás.

sintaxis:

for r in < query > loop
return next r;
end loop;

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar