Auto-Peningkatan untuk Lajur Oracle Pra-sedia ada
Semasa menambah fungsi auto-kenaikan pada lajur sedia ada tidak disokong secara asli dalam Oracle, pelbagai pendekatan boleh digunakan untuk mencapai matlamat ini.
11g dan Sebelum: Urutan dan Pencetus
Untuk Oracle versi 11g dan lebih awal, urutan dan pencetus boleh digunakan:
Contoh:
-- Create sequence CREATE SEQUENCE t_seq START WITH 150111111 INCREMENT BY 1; -- Alter table ALTER TABLE t ADD CONSTRAINT id_pk PRIMARY KEY (ID); -- Create trigger 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;
12c dan Kemudian: Lajur Identiti
Oracle 12c diperkenalkan ciri lajur identiti, yang membenarkan peningkatan automatik dalam jadual sendiri:
Contoh:
CREATE TABLE t ( ID NUMBER GENERATED ALWAYS AS IDENTITY START WITH 150111111 INCREMENT BY 1, text VARCHAR2(50) );
Sila ambil perhatian bahawa pendekatan ini tidak mengemas kini nilai sedia ada dalam lajur. Untuk mengubah suai nilai sedia ada, pertanyaan kemas kini yang berasingan diperlukan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Fungsi Penambahan Auto pada Lajur Oracle Sedia Ada?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!