sql >> Database >  >> RDS >> Oracle

SET SQLBLANKLINES:Lege regels toestaan ​​in SQLcl &SQL*Plus

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

  1. wat gebeurt er in de overgangsfase van adoptie in R12.2

  2. Hoe JSON-gegevens op te slaan in MySQL

  3. Hoe de LEFT()-functie werkt in MySQL

  4. SQL:Als het gaat om NOT IN en NOT EQUAL TO, wat is dan efficiënter en waarom?