Eu faço um select numa view que busca dados via db link ...
for rec in ( select * from ordens_credito_vw v
where v.data_venda > ( sysdate - 10 )
and v.sbun_cd_unidade = :recolha.cd_unidade
and not exists ( select 1
from sb_guia_cvalores g,
sb_guia_oc_cvalores o
where o.cd_unidade = g.cd_unidade
and o.nr_guia = g.nr_guia
and o.nr_formulario_dep = v.numero
and o.dt_venda = v.data_venda
and o.tp_deposito = v.tidp_tipo
and o.dt_exclusao is null )
union
select * from ordens_credito_vw v
where v.data_venda > ( sysdate - 10 )
and v.sbun_cd_unidade = :recolha.cd_unidade
and exists ( select 1 from sb_guia_oc_cvalores
where cd_fornecedor = :recolha.cd_fornecedor
and cd_contrato = :recolha.cd_contrato
and cd_unidade = :recolha.cd_unidade
and nr_guia = :recolha.nr_guia
and dt_exclusao is null ) ) loop
:oc.nr_formulario_dep := rec.numero;
:oc.dt_venda := rec.data_venda;
:oc.tp_deposito := rec.tidp_tipo;
:oc.vl_valor := rec.valor;
Depois que eu insiro em outra tabela esses dados, eu dou um Post no banco, pois no momento não posso fazer commit( mesmo assim o erro será o mesmo ) então aparece a mensagem: unable to locate record 2 on block item_guia
Se alguém souber de algo, agradeço a ajuda...
Valeu...