Mit ALTER TABLE bestehende Tabellen ändern
Nachdem nun die Änderungen geplant und dokumentiert wurden, können sie konkret
umgesetzt werden.

Definition
Der SQL-Befehl, der für die Änderungen an der Struktur von Tabellen benutzt wird, ist:
ALTER TABLE ...
Wie (fast) alle SQL-Befehle ist ALTER TABLE in seiner Grundstruktur recht einfach. Wenn es aber an die Feinheiten geht, ist
dieser Befehl komplex und mächtig. ALTER TABLE kennt folgende Klauseln:
Klausel | Bedeutung |
---|---|
ADD COLUMN | Spalten hinzufügen |
ALTER COLUMN | Spalten verändern |
DROP COLUMN | Spalte(n) löschen |
ADD CONSTRAINT | Constraints hinzufügen |
DROP CONSTRAINT | Constraints löschen |
Wobei die Klausel ALTER COLUMN folgendermaßen benutzt werden kann:
ALTER COLUMN ... | Bedeutung |
---|---|
SET DEFAULT | Spalte mit einem Default-Wert versehen bzw. einen vorhandenen Default-Wert ändern |
DROP DEFAULT | Default-Wert einer Spalte löschen |
ADD SCOPE | - |
DROP SCOPE | - |

Hinweis
Die SCOPE-Klauseln werden wir in diesem Kurs nicht behandeln. Die Angabe der Schlüsselwörter
COLUMN und CONSTRAINT ist optional.
Außerdem kann seit SQL:2003 ALTER TABLE benutzt werden, um den Sequenzgenerator einer Identity Spalte (vgl. Kapitel 6.2) neu zu starten oder dessen Parameter zu ändern. Ein Beispiel für einen solchen
Restart sehen Sie hier:
ALTER TABLE TABELLENNAME
ALTER COLUMN spaltenname
START WITH 1
;
ALTER COLUMN spaltenname
START WITH 1
;
Seit SQL:2008 gibt es nun im Standard endlich die Möglichkeit, Datentypen zu
ändern. Die Syntax dafür ist wie folgt:
ALTER TABLE TABELLENNAME
ALTER COLUMN spaltenname
SET DATATYPE datentyp
;
ALTER COLUMN spaltenname
SET DATATYPE datentyp
;