Pessoal, boa tarde.
Estou com um problema aqui e gostaria da ajuda de vocês. Preciso pegar os valores de um cursor e jogar num bloco no forms, até ai tudo bem, só que o problema é o seguinte, na situação que estou testando aqui, o cursor retorna dois registros, mas no bloco além dos dois registros, ele fica posicionado no registro que seria o numero 3, ou seja, ele está dando um next_record a mais. Abaixo segue o código que estou usando e queria que vocês me ajudassem a ver onde estou errando:
-- Declaração do Cursor --
cursor c3 is
select t.campo
from tabela t
where t.campo2 = v_ariavel;
-- Inserindo os dados no bloco
go_block('bloco');
open c3;
loop
fetch c3 into :bloco.campo;
exit when c3%notfound or c3%notfound is null;
next_record;
end loop;
close c3;
Ele está passando 2x no next_record, agora como faço para ele passar 1x só e deixar o registro sempre no último inserido ???
Att.
Tiago Pimenta
Dúvida com Loop x Cursor
- tiago_pimenta
- Rank: DBA Júnior
- Mensagens: 213
- Registrado em: Qua, 29 Jun 2011 9:49 am
- Localização: Barretos / SP
-
- Rank: DBA Pleno
- Mensagens: 248
- Registrado em: Sex, 06 Fev 2009 3:02 pm
- Localização: ERECHIM - RS
Olá,
talvez no ultimo campo do bloco, coloque como "Salto Automático" = Não.
talvez no ultimo campo do bloco, coloque como "Salto Automático" = Não.
-
- Rank: Analista Pleno
- Mensagens: 108
- Registrado em: Qua, 12 Nov 2008 6:01 pm
- Localização: Campo Mourão PR
Renato Pasquini
Oracle Developer
Oracle Developer
Bom dia Tiago,
a variavel notfound do cursor c3 recebe valor true apenas quando é executado a função fetch into.
Ou seja há um erro lógico neste seu código.
--
Altere o OPEN...FETCH..CLOSE para o FOR .. LOOP. É mais fácil e pratico.
--
a variavel notfound do cursor c3 recebe valor true apenas quando é executado a função fetch into.
Ou seja há um erro lógico neste seu código.
--
Altere o OPEN...FETCH..CLOSE para o FOR .. LOOP. É mais fácil e pratico.
--
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 16 visitantes