Si está intentando ejecutar una consulta de varias líneas en SQLcl o SQL*Plus, y sigue recibiendo un error como "Comando desconocido", pero ejecutarlo en SQL Developer no provoca tal error, tal vez esta publicación lo ayude.
De forma predeterminada, SQLcl y SQL*Plus no permiten líneas en blanco en las declaraciones de SQL. Sin embargo, puede cambiar esto con SET SQLBLANKLINES comando.
Sintaxis
La sintaxis es así:
SET SQLBL[ANKLINES] {ON | OFF}
Esto significa que puede usar el SQLBLANKLINES completo o su forma abreviada SQLBL , y puede establecerlo en ON o OFF .
Está OFF por defecto. Configurándolo en ON le permitirá incluir líneas en blanco en su código.
Ejemplo
Primero, revisaré mi configuración actual:
SHOW SQLBLANKLINES Resultado:
sqlblanklines OFF
Actualmente, la compatibilidad con líneas en blanco está deshabilitada.
Supongamos que tenemos la siguiente instrucción SQL:
SELECT 3 * 10
FROM DUAL; Esto es lo que sucede si copio y pego eso en SQLcl e intento ejecutarlo:
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
La instrucción falla debido a la línea en blanco.
Establecer SQLBLANKLINES a ON
Ahora configuremos SQLBLANKLINES a ON :
SET SQLBLANKLINES ON Y ejecuta la consulta de nuevo:
SELECT 3 * 10
FROM DUAL; Ahora esto es lo que obtengo:
SQL> SELECT 3 * 10
2
3* FROM DUAL;
3*10
_______
30 Esta vez la declaración tiene éxito.
Forma abreviada
Alternativamente, puede usar la forma abreviada SQLBL .
Ejemplo de devolución de la configuración actual:
SHOW SQLBL Resultado:
sqlblanklines ON
Ejemplo de apagarlo y mostrarlo de nuevo:
SET SQLBL OFF
SHOW SQLBL Resultado:
sqlblanklines OFF