From: | "mario vargas careaga" <mario(dot)vargas(dot)careaga(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | mi cursor no encuentra fin de archivo... |
Date: | 2007-05-31 20:22:04 |
Message-ID: | 5cdf74c90705311322p5ed07a4bwcf137c3aeed93ff9@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
CREATE OR REPLACE FUNCTION pasocursor(CPRE CHAR(37),out valor1 int,out
valor2 int,out valor3 int)
AS $$
declare
paso CURSOR FOR
SELECT ene,sueldo1,aporte1,
feb,sueldo2,aporte2,mar,sueldo3,aporte3,organo,distrito1,relridu,cod_per,ci1
FROM paso2006 begin;
ene int;
sueldo1 double precision;
aporte1 double precision;
feb int;
sueldo2 double precision;
aporte2 double precision;
mar int;
sueldo3 double precision;
aporte3 double precision;
organo int;
relridu int;
distrito1 int;
cod_per int;
ci1 char(25);
estadopaso int;
begin
open paso;
FETCH paso INTO ene,sueldo1,aporte1,
feb,sueldo2,aporte2,mar,sueldo3,aporte3,organo,distrito1,relridu,cod_per,ci1;
WHILE (found) loop
BEGIN
insert into prestaciones values
(ci1,1,2006,sueldo1,ene,aporte1,cod_per,1,organo,distrito1,relridu);
insert into prestaciones values
(ci1,2,2006,sueldo2,feb,aporte2,cod_per,1,organo,distrito1,relridu);
insert into prestaciones values
(ci1,3,2006,sueldo3,mar,aporte3,cod_per,1,organo,distrito1,relridu);
FETCH paso INTO ene,sueldo1,aporte1,
feb,sueldo2,aporte2,mar,sueldo3,aporte3,organo,distrito1,relridu,cod_per,ci1;
END;
end loop;
close paso;
end;
$$ LANGUAGE 'plpgsql' VOLATILE;
como ya les escribi esta mi funcion no termina entra en un cilo
infinito asumo que ees el por el while (found) y cuando tengo cursores
anidados pasa lo mismo como lo puedo controlar?
From | Date | Subject | |
---|---|---|---|
Next Message | Arturo Munive | 2007-05-31 20:29:36 | Re: implementacion de last() en el driver JDBC de postgresql |
Previous Message | Alvaro Herrera | 2007-05-31 18:45:29 | Re: Trigger no se ejecuta al cambiar datos en una tupla cuando hay datos en determinada columna |