Estou tentando fazer um update dentro de um loop no postgres e nao estou conseguindo, no where estou querendo passar o codigo que atribui para minha varável.
OPEN c_adiantamentos FOR
select fsa_ide, coalesce(fsh_val_honorarios,0) * -1, coalesce(fsh_val_despesas,0) * -1, coalesce(fsh_val_geral,0) * -1
from fin_saldo_adiantamentos_hist, fin_saldo_adiantamentos
where fsh_fky_fsa_ide = fsa_ide
and fsh_val_honorarios < 0
and fsh_fky_can_ide = ncan_ide;
LOOP
FETCH c_adiantamentos
into nFSAIDE, nAdiHon, nAdiDes, nAdiGeral;
EXIT WHEN NOT FOUND;
update fin_saldo_adiantamentos set
fsa_val_honorarios = coalesce(fsa_val_honorarios,0) + coalesce(nAdiHon,0),
fsa_val_despesas = coalesce(fsa_val_despesas,0) + coalesce(nAdiDes,0),
fsa_val_geral = coalesce(fsa_val_geral,0) + coalesce(nAdiGeral,0)
where fsa_ide = nFSAIDE;
RAISE NOTICE 'f_fat_devolve_adiantamentos xxx[%]', xxx;
RAISE NOTICE 'f_fat_devolve_adiantamentos nAdiHon[%]', nAdiHon;
RAISE NOTICE 'f_fat_devolve_adiantamentos nAdiDes[%]', nAdiDes;
RAISE NOTICE 'f_fat_devolve_adiantamentos nAdiGeral[%]', nAdiGeral;
END LOOP;