집 >데이터 베이스 >MySQL 튜토리얼 >기존 Oracle 열에 자동 증가 기능을 어떻게 추가할 수 있습니까?
기존 Oracle 열에 대한 자동 증가
기존 열에 자동 증가 기능을 추가하는 것은 Oracle에서 기본적으로 지원되지 않습니다. 이를 달성하기 위해 다양한 접근 방식을 사용할 수 있습니다.
11g 이하: 시퀀스 및 트리거
Oracle 버전 11g 이하의 경우 시퀀스와 트리거를 사용할 수 있습니다.
예:
-- Create sequence CREATE SEQUENCE t_seq START WITH 150111111 INCREMENT BY 1; -- Alter table ALTER TABLE t ADD CONSTRAINT id_pk PRIMARY KEY (ID); -- Create trigger 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;
12c 이상: ID 열
Oracle 12c 도입 테이블 내에서 자동 증가를 허용하는 ID 열 기능 자체:
예:
CREATE TABLE t ( ID NUMBER GENERATED ALWAYS AS IDENTITY START WITH 150111111 INCREMENT BY 1, text VARCHAR2(50) );
이러한 접근 방식은 열의 기존 값을 업데이트하지 않는다는 점에 유의하세요. 기존 값을 수정하려면 별도의 업데이트 쿼리가 필요합니다.
위 내용은 기존 Oracle 열에 자동 증가 기능을 어떻게 추가할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!