markitu Postado 7 de Janeiro de 2011 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 Denunciar Compartilhar Postado 7 de Janeiro de 2011 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; Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Fábio Maia Postado 7 de Janeiro de 2011 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 Denunciar Compartilhar Postado 7 de Janeiro de 2011 (editado) 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 7 de Janeiro de 2011 por Fábio {Acessa} Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
markitu Postado 10 de Janeiro de 2011 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 Autor Denunciar Compartilhar Postado 10 de Janeiro de 2011 Valeu pela resposta Fábio. Amanhã estarei no cliente e vejo se da certo. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Fábio Maia Postado 14 de Janeiro de 2011 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 Denunciar Compartilhar Postado 14 de Janeiro de 2011 Markitu, testou? Deu certo? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
markitu Postado 14 de Janeiro de 2011 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 Autor Denunciar Compartilhar Postado 14 de Janeiro de 2011 Cara, estou hoje no cliente e ainda não deu certo. O pessoal está fazendo de outra forma. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Flavio Miguel Postado 15 de Janeiro de 2011 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 Denunciar Compartilhar Postado 15 de Janeiro de 2011 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 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Flavio Miguel Postado 15 de Janeiro de 2011 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 Denunciar Compartilhar Postado 15 de Janeiro de 2011 --- 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 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
markitu Postado 17 de Janeiro de 2011 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 Autor Denunciar Compartilhar Postado 17 de Janeiro de 2011 Estarei no cliente na sexta e vou ver se esta forma da certo. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
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.