Verbindung zur DB Mit SQLPlus aufbauen
>sqlplus user/passwort@dbname
SPOOL
Das Komando Spool schreibt den Output der SQL Sitzung in eine Datei.
Starten:
spool log.txt;
Beenden:
spool off;
Anhängen (und starten):
spool log.txt append;
Ausgabe ohne Überschrift und Leerzeilen
Wenn mehrere SQL Statements aus einer Datei ausgeführt werden sollen, werden diese standardmäßig eine Überschrift enthalten.
Zudem werden zwischen den Ergebnissen Leerzeilen auftauchen, die in den meisten Fällen eher lästig sind.
Folgende Einstellungen können hier Abhilfe schaffen:
1. set pagesize 0 // Gibt an, nach wievielen Ausgabezeilen eine erneute Überschrift ausgegeben werden soll
2. set heading off // Schaltet die Überschrift aus
3. set linesize 9000 // Nach wievielen Zeichen der Zeile ein Zeilenumbruch erfolgen soll
4. set feed off // entfernt die Zeile nach einem Aufruf, damit sind die Leerzeilen entfernt
Describe
Dieser Befehl wird verwendet, um sich eine Tabellenbeschreibung anzeigen zu lassen.
Das Ergebnis dieser Abfrage liefert eine Tabelle mit 3 Spalten. Erste Spalte (Name) beinhalted die Spaltennamen der Tabelle.
Die zweite Spalte heist NULL? und gibt an, ob der Wert der Spalte NULL sein darf.
Die dritte Spalte (Type) gibt an, welchen Datentyp die Spalte haben darf.
DESCRIBE tabelle1
oder
DESC tabelle1
Name | Null? | Type |
---|---|---|
Spalte1 | NOT NULL | NUMBER(4) |
Spalte2 | VARCHAR2(10) | |
Spalte3 | DATE |
Befehle zur Bufferbearbeitung
Mit SQL Plus ist es möglich, SQL Befehle die sich bereits im Buffer befinden, zu bearbeiten.
Die eckigen Klammern zeigen an, wie die Befehle abgekürzt werden können.
A[PPEND] text
Angenommen im Buffer steht bereits "SELECT spalte1, spalte2,". Jetzt geben folgende Zeile ein:
A spalte3
Nun befindet sich folgende Anweisung im Buffer:
SELECT spalte1, spalte2, spalte3
C[HANGE] /old/new
Führen wir jetzt einen Change aus:
C/spalte3/spalte4
... steht folgende SQL ANweisung im Buffer:
SELECT spalte1, spalte2, spalte4
Des Weiteren können Sie mit dem Befehl etwas aus dem Buffer löschen:
C/spalte2,/
... lässt folgendes übrig:
SELECT spalte1, spalte4
CL[EAR] BUFF[ER]
Dieser Befehl löscht alle Zeilen im Buffer.
DEL
Mit DEL wird der Inhalt des Buffers gelöscht. Gibt man hinter DEL die Zeile oder Zeilen an, so werden nur diese gelöscht.
DEL 2
I[NPUT] text
Mit Input lässt sich eine unbestimmte Anzahl von Zeilen in den Buffer eingeben:
I FROM tabelle1
Aktuell im Buffer:
SELECT spalte1, spalte4
FROM tabelle1
L[IST]
Ermöglicht das Anzeigen vom Inhalt des Buffers. Hierzu mus lediglich der Buchstabe "L" und Enter eingegeben weden.
R[UN]
Hiermit wird die aktuelle Anweisung im Buffer ausgeführt. Daraufhin wird die Anweisung ausgeführt, und die Anweisung, sowie das Ergebnis auf dem Bildschirm ausgegeben.
Zeilen im Buffer bearbeiten
Um zum Beispiel eine Zeile austauschen zu können, geben Sie die Zeilennummer, und dann den neuen Inhalt der Zeile ein:
Vorher:
SELECT sp1, sp2
FROM tab1Anweisung:
1 SELECT sp2, sp4Jetzt im Buffer:
SELECT sp2, sp4
FROM tab1
Um etwas vor die erste Zeile im Buffer zu schreiben, wechseln sie in die Zeile 0.
Dateibefehle
Häufig verwendete Dateibefehle:
SAV[E] Dateiname
Mit der Anweisung SAVE, wird die im Buffer befindliche SQL Anweisung in eine Datei gespeichert.
Bei der Vergabe des Dateinamens wird keine Dateierweiterung benötigt, da .sql automatisch angehängt wird.SAV alles_von_tabelle1
Daraufhin erscheint eine Meldung, dass die Datei angelegt wurde:
Created file alles_von_tabelle1
GET Dateiname
Mit GET wird der aktuelle Buffer mit dem Inhalt aus der angegebenen Date ersetzt:
GET alles_von_tabelle1
Daraufhin wird der Inhalt der Datei angezeigt und in den Buffer geladen.
STAR[T] Dateiname
Start wird verwendet, um den Inhalt einer Datei einfach nur ausführen zu lassen.
STAR alles_von_tabelle1
Somit werden die SQL Statements der Datei ausgeführt, und sie bekommen das Ergebnis angezeigt.
Eine zuvor verwendete Datei kann auch auf kürzerem Weg wieder aufgerufen werden:@ alles_von_tabelle1
ED[IT] Dateiname
Mit dem Befehl EDIT können sie direkt die Datei in den Editor laden:
ED alles_von_tabelle1
EXIT
Mit EXIT verlassen sie die SQL Plus Umgebung.