Loop não funciona

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
pc_delphi
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 128
Registrado em: Qui, 29 Mai 2008 6:44 pm
Localização: São Paulo
Tudo posso, nAquel que me fortalece
Filipenses 4:13

Tenho esse loop aí em baixo:

Selecionar tudo

open cr_seq(vfontex,vfontey);
  fetch cr_seq into c_seq;
  if cr_seq%found then 
    loop
      vnivel := vnivel + 1;
      update redeiluminacao set nivel = vnivel where instalacao = 'ET0013' and nivel = 0 and fontex = vfontex and numid = c_seq.numid;
      vcontador := vcontador - 1;
      exit when vcontador = 0;
    end loop;
  end if;
Abri meu cursor e fiz o loop. O que passa é que o meu update só é realizado uma única vez. A variável vcontador ela vem com valores entre 2 e 4(2,3 ou 4), logo o loop deveria atualizar a tabela redeiluminacao 2,3 ou 4 vezes, mas só acontece uma única vez. O que está errado?
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5026
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Coloca uns DBMS_OUTPUT pra ver o que está em cada variável.
:-o
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

esta iniciando vcontador com qual valor?
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

Cara pode tar dando erro no teu if if cr_seq%found , pode acontecer do teu cursor não encontrar nada e então não vai atualizar nada.

Pode tar parando na clausula where do teu update, e atualizando o contador.

Posta todo o código aí, pois só neste trecho é dificil de dizer onde está o problema.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante