오라클 자동증가

오라클에서는 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');

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받고 있습니다.

이 포스팅은 제휴마케팅이 적용되어 작성자에게 일정액의 커미션이 제공될수 있습니다.

이 글을 공유하기

댓글

Designed by JB FACTORY

"웨딩박람회 일정 스드메 견적 웨딩플랜닷컴 "

주부알바 재택부업 앙팡펫파트너스

서민안심전환대출 ㅣ정부지원대출ㅣ채무통합대환대출