오라클에서는 MSSQL에서처럼
숫자형태의 컬럼(키값)을 자동 증가시켜주는 따로 없다..
따라서 sequence를 이용하여 키값과 같은 숫자형태의 값들을 자동 증가시켜준다.
우선 sequence형태의 테이블을 생성
sql문 : create sequence T_SeqName increment by 1 start with 1 ;
T_SeqName -> 시퀀스 테이블 이름
increment by 1 -> 증가값을 1씩 증가
start with 1 -> 1 부터 시작
테이블에 값 입력시
sql문 : insert into T_AnimalInfo (IDX, Name, Num) values (T_SeqName.nextval, 'lion','3');
T_SeqName.nextval -> 시퀀스 테이블을 참조하여 다음값을 구함
.currval -> 현재값
# 하지만 시퀀스를 이용하는것을 추천하지 않는다.
대신 다른 방법으로 시퀀스테이블을 생성하지 않고, 간단한 방법으로 구현해 보자.
sql문 1 : SELECT NVL(MAX(IDX),0)+1 AS MAX_ID FROM T_AnimalInfo ;
-> IDX값의 최대값을 찾고 그값에 1을 더한후, MAX_IDX값으로 설정.(다음 인덱스값)
sql문 2 : insert into T_AnimalInfo (IDX, Name, Num) values (MAX_ID, 'lion','3');
[출처] [oracle] 숫자의 자동 증가|작성자 깜찍이
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받고 있습니다.
이 포스팅은 제휴마케팅이 적용되어 작성자에게 일정액의 커미션이 제공될수 있습니다.
이 글을 공유하기