Problema ao compilar package com caracter especial

Boa noite!

Já se deparou com um issue de compilar alguma package com o caracter ‘&’ dentro do código? Isto geralmente não dá certo quando se quer compilar este objeto via SQLPLUS.

Quando você tenta compilar, ele interrompe a aplicação pois ele entende o ‘&’ como uma variável que precisa ser preenchida.

Vamos aos testes (Usando um select como exemplo):
– Ao rodar o select com o caracter, veja que ele pede que informe o valor:


SQL> Select '&1' from dual;
Enter value for 1:

Isto contido dentro de uma package pode atrapalhar a aplicação de objetos como packages, views, funcões, etc. Portanto, para que este problema não aconteça, realize um comando antes, denominado: SET DEFINE OFF.

Vamos aos testes novamente (Usando um select como exemplo):
– Agora ao rodar o select com o caracter, veja que ignora o ‘&’ como uma variável e segue normalmente:


SQL> SET DEFINE OFF
SQL> Select '&1' from dual;

'&
--
&1

Bom, fica esta dica para quem precisar!

Abraço,
Junio Vitor

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *