Oracle 데이터베이스에서 자동 증가 열 생성
12c 이전 Oracle 버전에는 열 자동 증가 개념이 없었습니다. 그러나 유사한 기능을 달성할 수 있는 몇 가지 방법이 있습니다.
방법 1: 시퀀스 및 트리거 사용
한 가지 방법은 레코드를 삽입하기 전에 값을 증가시키는 시퀀스와 트리거를 만드는 것입니다.
<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>
방법 2: IDENTITY 열 사용(Oracle 12c 이상)
Oracle 12c에는 고유한 값을 자동으로 생성할 수 있는 IDENTITY 열 데이터 유형이 도입되었습니다.
<code class="language-sql">CREATE TABLE t1 ( c1 NUMBER GENERATED by default on null as IDENTITY, c2 VARCHAR2(10) );</code>
방법 3: 시퀀스를 기본값으로 사용(Oracle 12c 이상)
또 다른 접근 방식은 시퀀스를 열의 기본값으로 사용하는 것입니다.
<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>
위 내용은 Oracle에서 자동 증가 열을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!