Buat lajur kenaikan automatik dalam pangkalan data Oracle
Dalam versi Oracle sebelum 12c, tiada konsep lajur kenaikan automatik. Walau bagaimanapun, terdapat beberapa cara kita boleh mencapai fungsi yang serupa.
Kaedah 1: Gunakan jujukan dan pencetus
Salah satu cara ialah dengan mencipta jujukan dan pencetus yang menambah nilai sebelum memasukkan rekod.
<code class="language-sql">CREATE SEQUENCE dept_seq START WITH 1; CREATE TABLE departments ( ID NUMBER(10) NOT NULL, DESCRIPTION VARCHAR2(50) NOT NULL ); ALTER TABLE departments ADD ( CONSTRAINT dept_pk PRIMARY KEY (ID) ); CREATE OR REPLACE TRIGGER dept_bir BEFORE INSERT ON departments FOR EACH ROW BEGIN SELECT dept_seq.NEXTVAL INTO :new.id FROM dual; END; /</code>
Kaedah 2: Gunakan lajur IDENTITI (Oracle 12c dan ke atas)
Oracle 12c memperkenalkan jenis data lajur IDENTITY, yang boleh menjana nilai unik secara automatik.
<code class="language-sql">CREATE TABLE t1 ( c1 NUMBER GENERATED by default on null as IDENTITY, c2 VARCHAR2(10) );</code>
Kaedah 3: Gunakan jujukan sebagai nilai lalai (Oracle 12c dan ke atas)
Pendekatan lain ialah menggunakan jujukan sebagai nilai lalai untuk lajur.
<code class="language-sql">CREATE SEQUENCE dept_seq START WITH 1; CREATE TABLE departments ( ID NUMBER(10) DEFAULT dept_seq.nextval NOT NULL, DESCRIPTION VARCHAR2(50) NOT NULL ); ALTER TABLE departments ADD ( CONSTRAINT dept_pk PRIMARY KEY (ID) );</code>
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Lajur Auto-Increment dalam Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!