Penambahan Automatik Lajur Sedia Ada dalam Pangkalan Data Oracle
Menambah fungsi autokenaikan pada lajur sedia ada dalam Oracle boleh dicapai melalui pendekatan yang berbeza bergantung pada versi Oracle.
Oracle 12c dan Di atas: Menggunakan Lajur Identiti
Oracle 12c memperkenalkan ciri lajur IDENTITI yang memudahkan penambahan automatik:
CREATE TABLE t ( ID NUMBER GENERATED ALWAYS AS IDENTITY START WITH 150111111 INCREMENT BY 1, text VARCHAR2(50) );
Oracle 11g dan Sebelum: Urutan dan Pencetus
Untuk versi Oracle sebelum ini 12c, anda boleh menggunakan gabungan jujukan dan pencetus:CREATE SEQUENCE t_seq START WITH 150111111 INCREMENT BY 1;
ALTER TABLE t ADD CONSTRAINT id_pk PRIMARY KEY (ID);
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;
Contoh Penggunaan:
Untuk kedua-dua kaedah, sisipan akan mengisi lajur ID dengan nilai penambahan automatik bermula dari 150111111.INSERT INTO t(text) VALUES('auto-increment test');
SELECT * FROM t; ID TEXT ------------------------- ---------------------------------------- 150111111 This table has an auto-incrementing column
Nota: Oracle secara tersirat mencipta urutan bernama ISEQ$$ apabila menggunakan lajur identiti.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Fungsi Penambahan Auto pada Lajur Sedia Ada dalam Pangkalan Data Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!