Oracle 데이터베이스에서 기존 열 자동 증가
Oracle의 기존 열에 자동 증가 기능을 추가하는 방법은 다음과 같습니다. Oracle 버전에서.
Oracle 12c 이상: 사용 ID 열
Oracle 12c에서는 자동 증가를 단순화하는 IDENTITY 열 기능을 도입했습니다.
CREATE TABLE t ( ID NUMBER GENERATED ALWAYS AS IDENTITY START WITH 150111111 INCREMENT BY 1, text VARCHAR2(50) );
Oracle 11g 및 이전 버전: 시퀀스 및 트리거
12c 이전 Oracle 버전의 경우 시퀀스 조합을 사용할 수 있습니다. 및 트리거:
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;
이 트리거는 ID 열에 값을 자동으로 채웁니다. 시퀀스에서.
예 사용법:
두 방법 모두 삽입은 150111111부터 시작하는 자동 증가 값으로 ID 열을 채웁니다.
INSERT INTO t(text) VALUES('auto-increment test');
테이블을 쿼리하면 자동 증가 값이 확인됩니다. ID:
SELECT * FROM t; ID TEXT ------------------------- ---------------------------------------- 150111111 This table has an auto-incrementing column
참고: Oracle은 ID 열을 사용할 때 ISEQ$$라는 시퀀스를 암시적으로 생성합니다.
위 내용은 Oracle 데이터베이스의 기존 열에 자동 증가 기능을 어떻게 추가할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!