웹 프로그래밍

시퀀스(SEQUENCE) - Oracle 본문

DB(SQL)/oracle

시퀀스(SEQUENCE) - Oracle

B. C Choi 2023. 2. 5. 22:21
반응형

▶ 시퀀스?

 

1. 시퀀스는 여러 사용자가 사용자가 정의한 정수를 생성할 수 있는 데이터베이스의 개체입니다.

2. 시퀀스가 생성되게 되면 커밋 및 롤백과 상관없이 시퀀스가 증감하게 됩니다. 

3. 시퀀스 번호는 테이블과 독립적으로 생성되어 하나 또는 여러 테이블에 동일한 시퀀스를 사용할 수 있습니다.

4. 시퀀스는 해당 스키마에서 생성하려면 시스템 권한이 있어야 합니다.

 

 

▶ 시퀀스 생성 방법(CREATE)

 

create sequence 시퀀스명;

 

1. 시퀀스의 주요 옵션

- start with : 시퀀스가 시작할 번호.

                    default : 1

- increment by : 시퀀스가 증가할 단위.

                          default : 1

- minvalue : 시퀀스의 최솟값.

                    (최대 28자리, start with 이하이어야 합니다)

- maxvalue : 시퀀스의 최댓값.

                    (최대 28자리, start with 이상이어야 합니다)

- cycle or nocycle : nocycle시 시퀀스가  최댓값에 도달하면 에러 발생.

                               cycle시 시퀀스가 최댓값에 도달하면 start with로 다시 시작.

                               default : nocycle

 

 

▶ 시퀀스 확인 및 사용 방법(CURRVAL, NEXTVAL)

 

1. 현재 시퀀스 번호 확인하는 방법

select 시퀀스명.currval from dual;

 

2. 다음 시퀀스 번호로 증가시키는 방법

select 시퀀스명.nextval from dual;

 

3. 시퀀스 값을 테이블에 삽입하는 방법

insert into 테이블명(컬럼1, 컬럼2, 컬럼3)
	values(시퀀스명.nextval, 값2, 값3);

 

반응형