Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencipta Lajur Auto-Increment dalam Oracle?
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!