A
SQL-Anweisungen - Übersicht
ALTER DATABASE
ALTER DATABASE Datenbankname;
Der Befehl ALTER DATABASE ändert die Größe oder Einstellungen der Datenbank. Die Syntax variiert stark zwischen verschiedenen Datenbanksystemen.
ALTER USER
ALTER USER Benutzer
Mit der Anweisung ALTER USER lassen sich die Systemeinstellungen des Benutzers - beispielsweise das Kennwort - ändern.
BEGIN TRANSACTION
BEGIN TRANSACTION Transaktionsname
Die Anweisung BEGIN TRANSACTION kennzeichnet den Beginn einer Benutzertransaktion. Eine Transaktion endet, wenn sie entweder bestätigt (siehe COMMIT TRANSACTION) oder abgebrochen (siehe ROLLBACK TRANSACTION) wird. Eine Transaktion stellt eine logische Arbeitseinheit dar.
CLOSE CURSOR
CLOSE Cursorname;
Die Anweisung CLOSE Cursorname schließt den Cursor und löscht dessen Daten. Mit der Anweisung DEALLOCATE CURSOR läßt sich der Cursor vollständig entfernen.
COMMIT TRANSACTION
SQL> COMMIT;
Die Anweisung COMMIT TRANSACTION speichert alle seit Beginn der Transaktion (seit Ausführung der Anweisung BEGIN TRANSACTION) unternommenen Operationen.
CREATE DATABASE
SQL> CREATE DATABASE Datenbankname;
CREATE DATABASE Datenbankname erstellt eine neue Datenbank. Im Befehl lassen sich zahlreiche Optionen angeben, beispielsweise das Gerät, auf dem die Datenbank zu erzeugen ist, und die anfängliche Größe der Datenbank.
CREATE INDEX
CREATE INDEX Indexname
ON Tabellenname(Spaltenname1, [Spaltenname2],...);
Mit einem Index läßt sich der Inhalt einer Tabelle nach dem Inhalt des indizierten Feldes (oder mehrerer Felder) ordnen.
CREATE PROCEDURE
CREATE PROCEDURE Prozedurname
[[(]@Parametername
Datentyp [(Laenge) | (Genauigkeit [, Skala])
[= default][output]
[, @Parametername
Datentyp [(Laenge) | (Genauigkeit [, Skala])
[= default][output]]...[)]]
[with recompile]
AS SQL_Anweisungen
Die Anweisung CREATE PROCEDURE erzeugt eine neue gespeicherte Prozedur in der Datenbank. Die gespeicherte Prozedur kann aus SQL-Anweisungen bestehen und läßt sich dann mit Hilfe des Befehls EXECUTE ausführen. Gespeicherte Prozeduren unterstützen die Übergabe von Ein- und Ausgabeparametern und können einen ganzzahligen Statuswert zurückgeben.
CREATE TABLE
CREATE TABLE Tabellenname
( Feld1 Datentyp [ NOT NULL ],
Feld2 Datentyp [ NOT NULL ],
Feld3 Datentyp [ NOT NULL ]...)
Die Anweisung CREATE TABLE erzeugt eine neue Tabelle innerhalb einer Datenbank. Jedem optionalen Feld wird ein Name und Datentyp für die Erzeugung innerhalb dieser Tabelle bereitgestellt.
CREATE TRIGGER
CREATE TRIGGER Triggername
ON Tabellenname
FOR {insert, update, delete}
AS SQL_Anweisungen
Die Anweisung CREATE TRIGGER erzeugt ein Triggerobjekt in der Datenbank, das seine SQL-Anweisungen ausführt, wenn die korrespondierende Tabelle über eine INSERT-, UPDATE- oder DELETE-Operation modifiziert wird. Trigger können auch gespeicherte Prozeduren aufrufen, um komplexe Aufgaben zu realisieren.
CREATE USER
CREATE USER Benutzer
Die Anweisung CREATE USER erzeugt ein neues Benutzerkonto inklusive Benutzer-ID und Kennwort.
CREATE VIEW
CREATE VIEW <Sichtname> [(Spalte1, Spalte2...)] AS
SELECT <Tabellenname Spaltennamen>
FROM <Tabellenname>
Eine Sicht bezeichnet man auch als virtuelle Tabelle. Sichten erzeugt man mit der Anweisung CREATE VIEW. Nachdem eine Sicht erzeugt wurde, kann man sie abfragen und die darin enthaltenen Daten modifizieren.
DEALLOCATE CURSOR
DEALLOCATE CURSOR Cursorname
Die Anweisung DEALLOCATE CURSOR entfernt den Cursor vollständig aus dem Speicher und gibt den Namen zur Nutzung durch einen anderen Cursor frei. Bevor man einen Cursor aus dem Speicher entfernt, sollte man den Cursor zuerst mit der Anweisung CLOSE CURSOR schließen.
DECLARE CURSOR
DECLARE Cursorname CURSOR
FOR SelectAnweisung
Die Anweisung DECLARE CURSOR erzeugt einen neuen Cursor aus der per SELECT-Anweisung erstellten Abfrage. Die Anweisung FETCH scrollt den Cursor durch die Daten, bis die Variablen geladen sind. Dann schaltet der Cursor zum nächsten Datensatz weiter.
DROP DATABASE
DROP DATABASE Datenbankname;
Die Anweisung DROP DATABASE löscht eine Datenbank vollständig, einschließlich aller Daten und der physikalischen Struktur der Datenbank auf dem Datenträger.
DROP INDEX
DROP INDEX Indexname;
Die Anweisung DROP INDEX entfernt einen Index von einer Tabelle.
DROP PROCEDURE
DROP PROCEDURE Prozedurname;
Die Anweisung DROP PROCEDURE löscht eine gespeicherte Prozedur aus der Datenbank.
DROP TABLE
DROP TABLE Tabellenname;
Die Anweisung DROP TABLE löscht eine Tabelle aus einer Datenbank.
DROP TRIGGER
DROP TRIGGER Triggername
Die Anweisung DROP TRIGGER entfernt einen Trigger aus einer Datenbank.
DROP VIEW
DROP VIEW Sichtname;
Die Anweisung DROP VIEW entfernt eine Sicht aus einer Datenbank.
EXECUTE
EXCECUTE [@Rueckgabestatus = ]
Prozedurname
[[@Parametername =] Wert |
[@Parametername =] @Variable [output]...]]
Der Befehl EXECUTE führt eine gespeicherte Prozedur mit den zugehörigen SQL-Anweisungen aus. An die gespeicherte Prozedur kann man Parameter übergeben. Wenn das Schlüsselwort OUTPUT angegeben ist, lassen sich in diesen Parametern auch Daten zurückgeben.
FETCH
FETCH Cursorname [into fetch_target_list]
Der Befehl FETCH lädt den Inhalt der Cursordaten in die bereitgestellten Programmvariablen. Nachdem die Variablen geladen wurden, scrollt der Cursor zum nächsten Datensatz.
FROM
FROM <Tabellenreferenz> [, <Tabellenreferenz> ...]
FROM spezifiziert, welche Tabellen verwendet und/oder verknüpft werden.
GRANT
GRANT Rolle TO Benutzer
oder
GRANT Systemprivileg TO {Benutzername | Rolle | PUBLIC}
Der Befehl GRANT gewährt ein Privileg oder eine Rolle an einen Benutzer, der mit dem Befehl CREATE USER erzeugt wurde.
GROUP BY
GROUP BY <Gruppenliste>
Die Anweisung GROUP BY gruppiert alle Zeilen mit dem gleichen Spaltenwert.
HAVING
HAVING <Bedingung>
HAVING ist nur gültig mit GROUP BY und schränkt die Auswahl auf Gruppen ein, die der Suchbedingung genügen.
INTERSECT
INTERSECT
INTERSECT gibt alle gemeinsamen Elemente aus den Ergebnismengen zweier SELECT-Anweisungen zurück.
ORDER BY
ORDER BY <Sortierliste>
Die Anweisung ORDER BY ordnet die zurückgegebenen Werte nach der/den angegebenen Spalte(n).
ROLLBACK TRANSACTION
Die Anweisung ROLLBACK TRANSACTION bricht alle Arbeiten ab, die innerhalb einer Transaktion (seit Ausführung der Anweisung BEGIN TRANSACTION) realisiert wurden.
REVOKE
REVOKE Rolle FROM Benutzer;
oder
REVOKE {Objektprivileg | ALL [PRIVILEGES]}
[, {Objektprivileg | ALL [PRIVILEGES]} ]...
ON [Schema.]Objekt
FROM {Benutzer | Rolle | PUBLIC} [, {Benutzer | Rolle | PUBLIC}] ...
Der Befehl REVOKE entfernt ein Datenbankprivileg - Systemprivileg oder Rolle - von einem Benutzer.
SELECT
SELECT [DISTINCT | ALL]
Die Anweisung SELECT leitet alle Operationen zum Abrufen von Daten ein. Der Modifizierer DISTINCT spezifiziert eindeutige Werte und verhindert Duplikate. ALL ist der Vorgabewert und erlaubt Duplikate.
SET TRANSACTION
SQL> SET TRANSACTION (READ ONLY | USE ROLLBACK SEGMENT);
Der Befehl SET TRANSACTION erlaubt dem Benutzer, den Beginn einer Transaktion zu spezifizieren. Die Option READ ONLY sperrt eine Gruppe von Datensätzen bis zum Abschluß der Transaktion, um sicherzustellen, daß die Daten nicht geändert werden.
UNION
UNION
Die Anweisung UNION gibt alle Elemente aus zwei SELECT-Anweisungen zurück.
WHERE
WHERE <Suchbedingung>
Die WHERE-Anweisung schränkt die abzurufenden Zeilen auf diejenigen ein, die der Suchbedingung genügen.
Markt+Technik Verlag. Elektronische Fassung des Titels: SQL in 21 Tagen, ISBN: 3-8272-2020-3