Oracle e suas peripécias
22/outubro/2010 - Oracle
Olá
Hoje o Oracle me deu um baile, como faço todos os dias, estava eu tranquilo fazendo minha procedure PL/SQL quando de repente começo a obter esse erro:
LINE/COL ERROR -------- ------------------------------------------ 167/17 PL/SQL: ORA-00984: column not allowed here 160/7 PL/SQL: SQL Statement ignored
Olho aqui, olho lá, leio e releio as linha indicadas mas nada de ter uma luz para resolver esse problema. Resolvo criar o teste no PLSQL Developer (ver abaixo) com o trecho em torno da linha 167 mas o erro continua:
declare -- Local variables here i integer; --num_iden number; --num_cli number; begin -- Test statements here insert into cad_endereco (num_cli_ende, cod_ende_ende, num_iden_ende, cod_ende_ende, cod_situ_ende, data_ende, usu_ende) values (num_cli, '0001', num_iden, '0001', 'EN', '01', sysdate, user); end;
Como o quantidade de código diminui e o scroolbar sumiu percebi que as variáveis num_cli e num_iden não estavam declaradas, lógico que não iria funcionar.
Visto isso, criei as benditas variáveis (no código acima estão comentadas). E não é que funcionou!!!
Poxa vida!! Não dava para me mostrar uma mensagem mais intuitiva do tipo a variável num_cli não está criada seu idiota??!! Mas com um column not allowed here é pra acabar com o meu dia. Já vi erro cuja mensagens não era assim uma beleza, mas essa ganhou disparado.
[desabafo mode=”off”]
Até mais,
Roberto