Oracle 에서 자체 증가 키 설정

최근 에 Oracle 로 데이터 베 이 스 를 만 들 프로젝트 가 있 는데 그 전에 Sql Server 를 사용 하여 Oracle 데이터 베 이 스 를 잘 알 지 못 했 습 니 다.데이터 베 이 스 를 디자인 할 때 Oracle 은 자체 증가 키 설정 이 없 는 것 을 발견 했다. 구 글 은 Oracle 자체 가 자체 증가 키 를 지원 하지 않 고 시퀀스 (Sequence) 와 트리거 (Trigger) 를 통 해 이 루어 져 야 한 다 는 것 을 알 게 되 었 다.
생 성 표 학생
Create Table Student(
    id number(12) primary key,  --          id   
    name varchar2(20) ,
    age number(3) ,
    sex number(1)
)

시퀀스 생 성 시퀀스 시퀀스
Create Sequence SEQ_STUDENT
minvalue 1
maxvalue 99999999999999999999
start with 1         -- 1  
increment by 1    --   1
cache 0
order;

트리거 트리거 생 성
Create or Replace Trigger STUDENT_AUTOINCREMENT
Before Insert on Student
For Each Row
When (NEW.ID IS NULL)
Begin
Select SEQ_STUDENT.NEXTVAL INTO :NEW.ID FROM DUAL;
End;

좋은 웹페이지 즐겨찾기