RE:Recorrer tabla secuencialmente
debes crear un procedure y manejar un cursor algo como esto.
drop procedure if exists myalliquidacion;
CREATE PROCEDURE myalliquidacion (in Pfi date,in Pff date)
begin
declare veof,Weof INT default 0;
declare Wpropiedad char(12) default '';
declare Wnit char(15);
declare Wdirecc,Wnombre char(100) default '';
declare crliq cursor for select inmu_codigo,inmu_direccion
from myalpropiedades
where inmu_estado='A'
order by inmu_codigo ;
declare continue handler for sqlstate '02000' set veof=1, Weof=1;
drop table if exists crpropiedad;
create temporary table crpropiedad (
inmu_codigo varchar(12),
inmu_direccion varchar(100),
pers_nit varchar(15),
pers_nombre varchar(100))
ENGINE=MEMORY;
open crliq;
fetch crliq into Wpropiedad,Wdirecc;
while NOT veof do
begin
declare crprop cursor for
select prop_codigo,pers_nombre
from myalpropietariosinmuebles
left join myalpropietarios on prop_codigo=inpr_propietario
left join myagpersonas on pers_nit=prop_nit
where inpr_propiedad=Wpropiedad and inpr_estado='A';
open crprop;
fetch crprop into Wnit,Wnombre;
repeat
insert into crpropiedad VALUES (Wpropiedad,Wdirecc,Wnit,Wnombre);
fetch crprop into Wnit,Wnombre;
until Weof end repeat;
close crprop;
end;
fetch crliq into Wpropiedad,Wdirecc;
end while;
close crliq;
select * from crpropiedad;
end
call myalliquidacion('000-00-00','0000-00-00');