Amigos, queria consultarles a ver si me ayudan a ententer como funciona el
FOR target IN query LOOP
statements
END LOOP;
Tengo la siguiente funcion para pruebas
CREATE OR REPLACE FUNCTION balanceprueba(vagecod character varying,out cuenta
varchar,out debe decimal,out haber decimal,out saldo decimal)
RETURNS setof record AS
$BODY$
DECLARE
rSaldos record;
BEGIN
for rsaldos in
select *
from cuentas
where cueagecod='010' and cuecod<='2'
loop
raise notice 'xx, %',rSaldos.cuecod;
end loop;
return;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
Cuando ejuecuto este procedimiento no no entra en el bucle
Pero si a la consulta le quito una condicion
for rsaldos in
select *
from cuentas
where cueagecod='010'
loop
raise notice 'xx, %',rSaldos.cuecod;
end loop;
Ahi si entra al bucle.
He revisado la consulta sola
select *
from cuentas
where cueagecod='010' and cuecod<='2'
Con las dos condiciones y si me retorna varios registros, entonces no se cual
es la causa por la cual cuando pongo las 2 condiciones no ingresa al loop.
Espero puedan ayudarme a encontrar el problema de esto
Saludos