Hvis du forsøger at køre en forespørgsel med flere linjer i SQLcl eller SQL*Plus, og du bliver ved med at få en fejl, såsom "Ukendt kommando", men at køre den i SQL Developer forårsager ikke en sådan fejl, vil dette indlæg måske hjælpe.
Som standard tillader SQLcl og SQL*Plus ikke tomme linjer i SQL-sætninger. Du kan dog ændre dette med SET SQLBLANKLINES kommando.
Syntaks
Syntaksen ser sådan ud:
SET SQLBL[ANKLINES] {ON | OFF}
Det betyder, at du kan bruge enten den fulde SQLBLANKLINES eller dens stenografi SQLBL , og du kan indstille den til enten ON eller OFF .
Den er OFF som standard. Indstiller den til ON vil give dig mulighed for at inkludere tomme linjer i din kode.
Eksempel
Først vil jeg tjekke min nuværende indstilling:
SHOW SQLBLANKLINES Resultat:
sqlblanklines OFF
I øjeblikket er understøttelse af tomme linjer deaktiveret.
Antag, at vi har følgende SQL-sætning:
SELECT 3 * 10
FROM DUAL; Her er hvad der sker, hvis jeg kopierer og indsætter det i SQLcl og prøver at udføre det:
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
Udsagnet mislykkes på grund af den tomme linje.
Indstil SQLBLANKLINES til ON
Lad os nu indstille SQLBLANKLINES til ON :
SET SQLBLANKLINES ON Og kør forespørgslen igen:
SELECT 3 * 10
FROM DUAL; Her er hvad jeg får:
SQL> SELECT 3 * 10
2
3* FROM DUAL;
3*10
_______
30 Denne gang lykkes udtalelsen.
Shorthand Form
Du kan alternativt bruge stenografien SQLBL .
Eksempel på returnering af den aktuelle indstilling:
SHOW SQLBL Resultat:
sqlblanklines ON
Eksempel på at slukke den og vise den igen:
SET SQLBL OFF
SHOW SQLBL Resultat:
sqlblanklines OFF