Si vous essayez d'exécuter une requête multiligne dans SQLcl ou SQL*Plus et que vous obtenez constamment une erreur telle que "Commande inconnue", mais que son exécution dans SQL Developer ne provoque pas une telle erreur, peut-être que ce message vous aidera.
Par défaut, SQLcl et SQL*Plus n'autorisent pas les lignes vides dans les instructions SQL. Cependant, vous pouvez changer cela avec le SET SQLBLANKLINES commande.
Syntaxe
La syntaxe ressemble à ceci :
SET SQLBL[ANKLINES] {ON | OFF}
Cela signifie que vous pouvez utiliser soit le SQLBLANKLINES complet ou sa forme abrégée SQLBL , et vous pouvez le définir sur ON ou OFF .
C'est OFF par défaut. Le mettre sur ON vous permettra d'inclure des lignes vides dans votre code.
Exemple
Tout d'abord, je vais vérifier mon paramètre actuel :
SHOW SQLBLANKLINES Résultat :
sqlblanklines OFF
Actuellement, la prise en charge des lignes vides est désactivée.
Supposons que nous ayons l'instruction SQL suivante :
SELECT 3 * 10
FROM DUAL; Voici ce qui se passe si je copie et colle cela dans SQLcl et que j'essaie de l'exécuter :
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
L'instruction échoue en raison de la ligne vide.
Définir SQLBLANKLINES sur ON
Définissons maintenant SQLBLANKLINES sur ON :
SET SQLBLANKLINES ON Et relancez la requête :
SELECT 3 * 10
FROM DUAL; Voici maintenant ce que j'obtiens :
SQL> SELECT 3 * 10
2
3* FROM DUAL;
3*10
_______
30 Cette fois, l'instruction réussit.
Formulaire abrégé
Vous pouvez également utiliser la forme abrégée SQLBL .
Exemple de retour du paramètre actuel :
SHOW SQLBL Résultat :
sqlblanklines ON
Exemple de désactivation et de réaffichage :
SET SQLBL OFF
SHOW SQLBL Résultat :
sqlblanklines OFF