erro - cursor

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
  

Mensagemem Ter, 06 Dez 2005 11:54 am

Esta acontecendo o seguinte erro:ORA-06502: PL/SQL: erro: erro de conversão de caractere em número numérico ou de valor

estrura da tabela (cores) - > campos: cod(number) e cor(varchar2)

Cursor q esta gerando o erro:

Código: Selecionar todos
declare
  cursor c_cursor is
    select cor, cod from cores;
  v_cod cores.cod%TYPE;
  v_cor cores.cor%TYPE;
begin
  open c_cursor;
  loop
    fetch c_cursor into v_cod,v_cor;
  exit when c_cursor%NOTFOUND;
  dbms_output.put_line((v_cod) || '-' ||(v_cor));
  end loop;
  close c_cursor;
end;



Help!Please! :-)
izaura
Localização: santos-sp

Mensagemem Ter, 06 Dez 2005 12:10 pm

olá, inverta os campos cor e cod no seu cursor... como no exemplo abaixo...

Código: Selecionar todos
DECLARE
CURSOR c_cursor IS
  SELECT cod, cor
    FROM cores;
  v_cod cores.cod%TYPE;
  v_cor cores.cor%TYPE;
BEGIN
  OPEN c_cursor;
  LOOP
    FETCH c_cursor INTO v_cod, v_cor;
    EXIT WHEN c_cursor%NOTFOUND;
      dbms_output.put_line((v_cod)|| '-' ||(v_cor));
  END LOOP;
CLOSE c_cursor;
END;


este erro ocorreu porque você selecionou os campos cor e depois código e fez o into nos campos código e cor, ficando invertido... deve-se usar a mesma sequência de campos no select e no into.

[]´s

:-o
anderson
Localização: Toledo - PR

Anderson Nuernberg
---


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


      Voltar para PL/SQL

      Quem está online

      Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes