Ich muss eine vorhandene Tabelle in einer Oracle 10g DB mit ein paar tausend Datensätzen ändern, um einen Ersatz-Auto-Nummernschlüssel hinzuzufügen. Eine Möglichkeit, die mir in den Sinn kommt, ist
Gibt es einen einfacheren oder effizienteren Weg dies zu tun (oder gibt es einen Grund, warum das nicht funktionieren würde)?
Ich würde es folgendermaßen machen:
Erstellen Sie die Spalte " id
", die Nullwerte zulässt
Geben Sie diese Abfrage aus:
%Vor% Ändern Sie die Tabelle, um NOT NULL
und PRIMARY KEY
für die neue ID-Spalte
Erstellen Sie die Sequenz und setzen Sie sie auf MAX(id) + 1
und verwenden Sie sie für die weiteren Inserts.
Tags und Links database oracle surrogate-key