martinbulinski.de

Neuerungen in SQL*Plus Version 10g Drucken E-Mail
  
Mittwoch, 12. November 2008 um 16:49

So manch einer behauptet, SQL*Plus wäre out: man kann nicht vernünftig editieren, fehlendes Syntax-Highlighting usw. usw. Na, da behaupte ich mal, SQL*Plus ist spitze!


Ich find SQL*Plus einfach toll, weil es so schön klein ist und schnell mal installiert ist. Der instant-client von 10g verbraucht bei mir 24,6MB und muss nicht mal installiert werden. Also, USB-Stick rein und los!

Daneben gibt es noch einige weitere Neuerungen, die hinzugekommen sind.

AUTOEXEC.BAT in SQL*Plus

Nun, die Dateien GLOGIN.SQL und LOGIN.SQL gab es früher auch schon. Allerdings wurden die darin stehenden Befehle nur einmalig beim Starten von SQL*Plus ausgeführt. In 10g werden die Dateien immer ausgeführt, wenn sich ein neuer User connected, also auch bei einem

SQL> disconnect;
SQL> connect scott/tiger

SQLPROMPT Verbesserungen

Der SQLPrompt wird nun bei jedem Connect neu ausgewertet.

SQL> set sqlprompt "_user'@'_connect_identifier> " 
SCOTT@orcl> connect sys/admin as sysdba
Connected.
SYS@orcl> 

DBMS_OUTPUT in SQL-Befehlen

Man kann DBMS_OUTPUT innerhalb on PL/SQL-Funktionen verwenden, um Informationen auf dem Bildschirm auszugeben. Benutzt man die Funktionen allerdings innerhalb von SQL-Befehlen, wurden die Ausgaben erst auf dem Bildschirm “geflusht”, wenn ein erneuter Aufruf von DBMS_OUTPUT nach der Ausführung des SQL-Befehls erfolgte.
In SQL*Plus 10g wird automatisch geflusht.

create or replace function testmich return varchar2
as
begin
    dbms_output.put_line('Ausgabe');
    return 'testmich';
end;
/
SQL> set serveroutput on
SQL> select testmich from dual;
TESTMICH
--------
testmich
1 row selected.
Ausgabe

SPOOL mit CREATE, APPEND und REPLACE

Mit dem Kommando Spool kann man schon seit ewigen Zeiten Ein/Ausgaben in einer Datei protokollieren.
Allerdings hat man in der Vergangenheit eine bereits bestehende Datei mit gleichem Namen überschrieben. Ärgerlich…
Seit SQL*Plus 10g gibt es den Zusatz SPOOL APPEND, um an eine bestehende Datei anzuhängen, bzw. REPLACE (das ist der Default aus Kompatibilitätsgründen), um eine Datei zu ersetzen.
SPOOL CREATE erzeugt explizit ein neues SPOOL-File. Unterschied zum normalen Spool (Replace): Es wird ein Fehler erzeugt, wenn eine Datei mit gleichem Namen bereits existiert.

 
Benutzerbewertung: / 0
SchwachPerfekt 

Kommentar schreiben


Sicherheitscode
Aktualisieren

Anmeldung



Wer ist online

Wir haben 10 Gäste online