Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

SET SQLBLANKLINES:Como permitir linhas em branco no SQLcl &SQL*Plus


Se você está tentando executar uma consulta de várias linhas no SQLcl ou SQL*Plus e continua recebendo um erro como “Comando Desconhecido”, mas executá-lo no SQL Developer não causa esse erro, talvez este post ajude.

Por padrão, SQLcl e SQL*Plus não permitem linhas em branco em instruções SQL. No entanto, você pode alterar isso com o SET SQLBLANKLINES comando.

Sintaxe


A sintaxe fica assim:
SET SQLBL[ANKLINES] {ON | OFF}

Isso significa que você pode usar o SQLBLANKLINES completo ou sua forma abreviada SQLBL , e você pode configurá-lo para ON ou OFF .

Está OFF por padrão. Configurando para ON permitirá que você inclua linhas em branco em seu código.

Exemplo


Primeiro, vou verificar minha configuração atual:
SHOW SQLBLANKLINES

Resultado:
sqlblanklines OFF

Atualmente, o suporte para linhas em branco está desabilitado.

Suponha que temos a seguinte instrução SQL:
SELECT 3 * 10 

FROM DUAL;

Aqui está o que acontece se eu copiar e colar isso no SQLcl e tentar executá-lo:
SQL> SELECT 3 * 10 
  2  
  3* FROM DUAL;

Error starting at line : 1 in command -
SELECT 3 * 10
Error at Command Line : 1 Column : 13
Error report -
SQL Error: ORA-00923: FROM keyword not found where expected
00923. 00000 -  "FROM keyword not found where expected"
*Cause:    
*Action:

Error starting at line : 1 in command -
FROM DUAL
Error report -
Unknown Command

A instrução falha, devido à linha em branco.

Definir SQLBLANKLINES para ON


Agora vamos definir SQLBLANKLINES para ON :
SET SQLBLANKLINES ON

E execute a consulta novamente:
SELECT 3 * 10 

FROM DUAL;

Agora aqui está o que eu recebo:
SQL> SELECT 3 * 10 
  2  
  3* FROM DUAL;

   3*10 
_______ 
     30

Desta vez, a declaração é bem-sucedida.

Formulário abreviado


Você também pode usar a forma abreviada SQLBL .

Exemplo de retorno da configuração atual:
SHOW SQLBL

Resultado:
sqlblanklines ON

Exemplo de desligá-lo e exibi-lo novamente:
SET SQLBL OFF
SHOW SQLBL

Resultado:
sqlblanklines OFF