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