Als je een query met meerdere regels probeert uit te voeren in SQLcl of SQL*Plus, en je krijgt steeds een foutmelding zoals "Onbekende opdracht", maar het uitvoeren ervan in SQL Developer veroorzaakt geen dergelijke fout, misschien helpt dit bericht.
Standaard staan SQLcl en SQL*Plus geen lege regels toe in SQL-instructies. U kunt dit echter wijzigen met de SET SQLBLANKLINES
commando.
Syntaxis
De syntaxis gaat als volgt:
SET SQLBL[ANKLINES] {ON | OFF}
Dit betekent dat u ofwel de volledige SQLBLANKLINES
. kunt gebruiken of de verkorte vorm SQLBL
, en je kunt het instellen op ON
of OFF
.
Het is OFF
standaard. Instellen op ON
stelt u in staat om lege regels in uw code op te nemen.
Voorbeeld
Eerst controleer ik mijn huidige instelling:
SHOW SQLBLANKLINES
Resultaat:
sqlblanklines OFF
Momenteel is ondersteuning voor lege regels uitgeschakeld.
Stel dat we de volgende SQL-instructie hebben:
SELECT 3 * 10
FROM DUAL;
Dit is wat er gebeurt als ik dat kopieer en plak in SQLcl en probeer het uit te voeren:
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
De instructie mislukt vanwege de lege regel.
Stel SQLBLANKLINES
in naar ON
Laten we nu SQLBLANKLINES
. instellen naar ON
:
SET SQLBLANKLINES ON
En voer de query opnieuw uit:
SELECT 3 * 10
FROM DUAL;
Dit is wat ik krijg:
SQL> SELECT 3 * 10 2 3* FROM DUAL; 3*10 _______ 30
Deze keer slaagt de verklaring.
Shorthand-formulier
U kunt ook de verkorte vorm SQLBL
. gebruiken .
Voorbeeld van het terugzetten van de huidige instelling:
SHOW SQLBL
Resultaat:
sqlblanklines ON
Voorbeeld om het uit te schakelen en opnieuw te tonen:
SET SQLBL OFF
SHOW SQLBL
Resultaat:
sqlblanklines OFF