Hinzufügen der automatischen Inkrementierung zu einer vorhandenen Spalte in Oracle
In Oracle, um die Funktion zur automatischen Inkrementierung zu einer bereits vorhandenen Spalte hinzuzufügen Um den Primärschlüssel einer Tabelle zu ermitteln, können Sie je nach verwendeter Oracle-Version unterschiedliche Methoden anwenden.
Für Oracle 11g und Prior
CREATE SEQUENCE t_seq START WITH 150111111 INCREMENT BY 1; CREATE OR REPLACE TRIGGER t_trg BEFORE INSERT ON t FOR EACH ROW WHEN (new.id IS NULL) BEGIN SELECT t_seq.NEXTVAL INTO :new.id FROM dual; END;
Für Oracle 12c und höher
CREATE TABLE t ( ID NUMBER GENERATED ALWAYS AS IDENTITY START WITH 150111111 INCREMENT BY 1, text VARCHAR2(50) );
Daten einfügen
Sobald die Funktion zur automatischen Inkrementierung konfiguriert ist, können Sie wie gewohnt Daten in die Tabelle einfügen.
Beispiel
Betrachten Sie eine Tabelle namens t mit einer Spalte namens ID als Primärschlüssel, und Sie möchten ihn für die automatische Inkrementierung ab 150111111 konfigurieren.
Verwendung der Sequenzmethode in Oracle 11g:
INSERT INTO t(text) VALUES('auto-increment test 1');
Verwendung der Identitätsspaltenmethode in Oracle 12c:
INSERT INTO t(text) VALUES('This table has an identity column');
Hinweis:
Das obige ist der detaillierte Inhalt vonWie füge ich eine automatische Inkrementierung zu einer vorhandenen Primärschlüsselspalte in Oracle hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!