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;
Loop não funciona
-
- 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
Filipenses 4:13
Tenho esse loop aí em baixo:
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?
-
- Moderador
- Mensagens: 1177
- Registrado em: Qui, 15 Out 2009 10:28 am
- Localização: Recife
esta iniciando vcontador com qual valor?
-
- 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
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.
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.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante