Um eine neue Spalte zu einer bereits existierenden Tabelle in Oracle hinzuzufügen, nutzt du den ALTER TABLE-Befehl. Das ist der Standardweg, um die Struktur zu verändern, ohne die Daten zu gefährden.
Hier sind die verschiedenen Szenarien:
1. Eine einfache Spalte hinzufügen
Wenn du nur eine neue Spalte (z. B. für Kommentare) ergänzen willst:
ALTER TABLE table_temp
ADD (neue_spalte VARCHAR2(100));
2. Mehrere Spalten gleichzeitig hinzufügen
Du kannst auch eine ganze Liste von Spalten in einem Rutsch hinzufügen, indem du sie mit Kommas trennst:
ALTER TABLE table_temp
ADD (
erstellt_am DATE,
status_id NUMBER(5),
bemerkung VARCHAR2(255)
);
3. Spalte mit einem Standardwert (Default)
Das ist besonders nützlich, wenn die Spalte nicht leer (NULL) sein darf. Oracle befüllt dann alle existierenden Zeilen automatisch mit diesem Wert:
ALTER TABLE table_temp
ADD (aktiv_flag CHAR(1) DEFAULT 'Y' NOT NULL);
Profi-Tipps für Oracle:
Position der Spalte: In Oracle werden neue Spalten technisch gesehen immer am Ende der Tabelle angefügt. Wenn du die Reihenfolge in der Anzeige (z. B. in einem Tool wie SQL Developer) ändern willst, müsstest du die Tabelle theoretisch neu erstellen – oder du steuerst die Reihenfolge einfach über dein
SELECT-Statement.Performance: Bei sehr großen Tabellen (Millionen von Zeilen) kann das Hinzufügen einer Spalte mit einem
DEFAULT-Wert undNOT NULLseit Oracle 11g sehr schnell gehen, da Oracle hier einen Optimierungs-Trick nutzt und nicht jede Zeile physisch umschreiben muss.
Möchtest du direkt wissen, wie du die neue Spalte mit den Daten aus deiner TGRPOP-Logik von vorhin befüllst?