Jun's Blog
SEQUENCE의 정의 및 활용 본문
1. SEQUENCE 의 정의
정의 : Oracle 데이터베이스에서 고유한 숫자 값을 생성하는 객체입니다. 주로 기본 키(primary key) 값을 자동으로 생성하거나, 다른 컬럼에 대해 고유한 값을 생성할 때 사용됩니다.
- 자동 증가 값 생성: 시퀀스는 사용자가 지정한 시작 값에서 시작하여, 일정한 간격(증가 값)으로 숫자를 생성합니다.
- 고유 값 보장: 시퀀스를 사용하면 중복되지 않는 고유한 값이 보장되므로, 데이터베이스의 무결성을 유지하는 데 도움이 됩니다.
1.1 SEQUENCE 생성
CREATE SEQUENCE SEQTEST01 INCREMENT BY 10 START WITH 1 MINVALUE 1 MAXVALUE 99999;
<설명>
SEQTEST01 이라는 시퀀스 생성을 합니다. 초기값은 1부터 시작하며, 수행 될때마다 값은 10씩 증가하고 최소값은 1 이고 최대값은 99999 입니다.
1.2 SEQUENCE 확인하기
생성한 DB의 시퀀스 탭에서 정보를 확인할 수 있습니다.
아래의 nextval을 사용하여 시퀀스 번호를 증가시킬 수 있습니다. 시퀀스를 실행할 때마다 값이 증가하니 주의해야 한다.
SELECT SEQTEST01.NEXTVAL FROM DUAL;
아래의 currval을 사용하여 현재 시퀀스 번호를 확인할 수 있습니다.
SELECT SEQTEST01.CURRVAL FROM DUAL;
1.3 SEQUENCE 수정하기
아래의 increment by, nextval를 사용하여 현재 시퀀스 번호를 원하는 값으로 수정할 수 있습니다.
주의 : 시퀀스 번호를 수정한 후에는 다시 increment by 1로 바꿔줘야 합니다.
시퀀스 번호를 증가하여 수정하는 경우, 아래와 같이 합니다.
ALTER SEQUENCE SEQTEST01 INCREMENT BY 30; -- 원하는 값에 맞게 30을 변경하여 사용합니다.
SELECT SEQTEST01.NEXTVAL FROM DUAL;
시퀀스 번호를 감소시켜 수정하는 경우, 아래와 같이 합니다.
ALTER SEQUENCE SEQTEST01 INCREMENT BY -30;
SELECT SEQTEST01.NEXTVAL FROM DUAL;
아래와 같이 시퀀스의 최대값 변경을 할 수 있습니다.
ALTER SEQUENCE SEQTEST01 MAXVALUE 999999;
1.4 SEQUENCE 삭제하기
DROP SEQUENCE SEQTEST01;
'DataBase > Oracle' 카테고리의 다른 글
Oracle SQL Developer 활용 - (7) (0) | 2025.01.20 |
---|---|
Oracle SQL Developer 활용 - (6) (0) | 2025.01.20 |
Oracle SQL Developer 활용 실습 예제 - (4) (1) | 2025.01.18 |
Oracle SQL Developer 활용 - (5) (0) | 2025.01.18 |
Oracle SQL Developer 활용 - (4) (0) | 2025.01.18 |