Pular para o conteúdo

ESCAPE – Problema no Manual do 9i

Na semana passada vi uma falha na documentação do Oracle 9i.
Por exemplo para listar todos usuários com status ‘EXPIRED & LOCKED’ de um banco. Como o “&” é um caractere especial, se você tentar:

SELECT USERNAME FROM DBA_USERS WHERE ACCOUNT_STATUS = 'EXPIRED & LOCKED';

O SQLPlus irá pedir o valor para a variável “LOCKED”, pois o “&” indica uma variável do SQLPlus.

O Manual do 9i R2 indica que deve-se usar um caractere de escape “\” antes do caractere especial, ou envolver a string toda entre colchetes {}.

Mas, se vc seguir o manual, não dará certo! Isto porque esqueceram de mencionar que você deve alterar a seguinte variável do SQL*Plus:

SET ESCAPE ON;

E o padrão do SQL*Plus eh SET ESCAPE OFF, pelo menos no 9i R2 e 10g R2.

Pelo que vi, esta falha na documentação persiste no manual do 10g R1. Não verifiquei manuais de outras versões.

Ricardo Portilho Proni

Ricardo Portilho Proni

Com 20 anos de experiência profissional, Oracle ACE Member – eleito pela Oracle Corporation um dos maiores especialistas do mundo em Oracle Database- Trabalhou em grande parte dos maiores bancos de dados Oracle do Brasil. Certificado em Oracle, SQL Server, DB2, MySQL, Sybase e Websphere. Conselheiro do GPO e do GUOB, palestrante do ENPO, GUOB Tech Day e Oracle Open World, escritor da Revista SQL Magazine e Instrutor na Nerv.

Comentário(s) da Comunidade

Deixe um comentário

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

plugins premium WordPress