Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×

Erro oracle


markitu

Posts Recomendados


  • Tópicos Que Criei:  110
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  1.391
  • Conteúdo/Dia:  0.21
  • Reputação:   17
  • Pontos/Conquistas:  8.047
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline
  • Idade:  47
  • Dispositivo:  Windows

To tentando fazer um cursor para Oracle.

Em SQL consigo fazer sem problemas mas estou apanhando do Oracle :)

Ao executar da o erro:

Variável de Bind "REG_CODIGO" NÃO DECLARADA

bloco anônimo concluído

Alguém sabe me dizer o que está errado?

Segue sentença:

DECLARE

CURSOR COL_CLI IS

SELECT CODCFO FROM FCFO WHERE CODCFO='C00012';

REG_CODIGO COL_CLI%ROWTYPE;

BEGIN

OPEN COL_CLI

LOOP

FETCH COL_CLI INTO REG_CODIGO;

EXIT WHEN COL_CLI%NOTFOUND;

UPDATE FCFO SET RUA='0' WHERE CODCFO=:REG_CODIGO.CODCFO;

END LOOP;

CLOSE COL_CLI;

END;

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  32
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  565
  • Conteúdo/Dia:  0.09
  • Reputação:   10
  • Pontos/Conquistas:  3.159
  • Conteúdo Resolvido:  0
  • Dias Ganho:  5
  • Status:  Offline
  • Idade:  43
  • Dispositivo:  Windows

Markitu, tenta assim pra ver se vai.......

DECLARE

CURSOR COL_CLI IS

SELECT CODCFO FROM FCFO WHERE CODCFO = 'C00012';

REG_CODIGO COL_CLI%ROWTYPE;

BEGIN

OPEN COL_CLI;

FETCH COL_CLI INTO REG_CODIGO;

LOOP

EXIT WHEN COL_CLI%NOTFOUND;

UPDATE FCFO SET RUA = '0' WHERE CODCFO = REG_CODIGO.CODCFO;

END LOOP;

CLOSE COL_CLI;

END;

Editado por Fábio {Acessa}
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  110
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  1.391
  • Conteúdo/Dia:  0.21
  • Reputação:   17
  • Pontos/Conquistas:  8.047
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline
  • Idade:  47
  • Dispositivo:  Windows

Valeu pela resposta Fábio.

Amanhã estarei no cliente e vejo se da certo.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  32
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  565
  • Conteúdo/Dia:  0.09
  • Reputação:   10
  • Pontos/Conquistas:  3.159
  • Conteúdo Resolvido:  0
  • Dias Ganho:  5
  • Status:  Offline
  • Idade:  43
  • Dispositivo:  Windows

Markitu, testou? Deu certo?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  110
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  1.391
  • Conteúdo/Dia:  0.21
  • Reputação:   17
  • Pontos/Conquistas:  8.047
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline
  • Idade:  47
  • Dispositivo:  Windows

Cara, estou hoje no cliente e ainda não deu certo. O pessoal está fazendo de outra forma.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  0
  • Tópicos/Dia:  0
  • Meu Conteúdo:  2
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  10
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Cara, estou hoje no cliente e ainda não deu certo. O pessoal está fazendo de outra forma.

Boa noite,

Só melhorando a resposta anterior, utilizando loop for, pois é mais limpo e simples, pois o fetch e a saida já esta implicita no banco

DECLARE

BEGIN

FOR I IN (SELECT CODCFO FROM FCFO WHERE CODCFO = 'C00012';)

LOOP

UPDATE FCFO SET RUA = '0' WHERE CODCFO = I.CODCFO;

END LOOP;

COMMIT;

END;

Abraços

Flavio

Oracle Developer/DBA

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  0
  • Tópicos/Dia:  0
  • Meu Conteúdo:  2
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  10
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

--- SÓ ACERTANDO O CODIGO ACIMA, POIS FOI UM CARACTER INVALIDO

Boa noite,

Só melhorando a resposta anterior, utilizando loop for, pois é mais limpo e simples, pois o fetch e a saida já esta implicita no banco

DECLARE

BEGIN

FOR I IN (SELECT CODCFO FROM FCFO WHERE CODCFO = 'C00012')

LOOP

UPDATE FCFO SET RUA = '0' WHERE CODCFO = I.CODCFO;

END LOOP;

COMMIT;

END;

Abraços

Flavio

Oracle Developer/DBA

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  110
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  1.391
  • Conteúdo/Dia:  0.21
  • Reputação:   17
  • Pontos/Conquistas:  8.047
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline
  • Idade:  47
  • Dispositivo:  Windows

Estarei no cliente na sexta e vou ver se esta forma da certo.

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.