1. SEQUENCE의 정의
- 지정된 수치로 증가하거나 감소시키는 일종의 번호표.
- 최대 15개까지는 생성 가능합니다.
2. SEQUENCE의 생성
- CREATE SEQUENCE 생성할 시퀀스 이름
- [INCREMENT BY 정수]
> INCREMENT BY 정수는 SEQUENCE 번호 간의 증가치입니다, 생각하면 SEQUENCE는 1씩 증가
- [START WITH 정수]
> START WITH 정수는 생성되는 첫 번째 SEQUENCE 번호
- [MAXVALUE 정수 OR NOMAXVALUE]
> MAXVALUE 정수는 생성 가능한 SEQUENCE의 최대값 (기본값 38)
- [MINVALUE 정수 OR NOMINVALUE]
> MINVALUE 정수는 생성 가능한 SEQUENCE의 최소값
- [CACHE 정수 OR NOCACHE]
> CACHE 정수 OR NOCHACHE는 오라클 서버가 미리 지정하고 메모리에 유지할 값의 수 (기본값 20)
예) 테이블에 INSERT 할 때 사용
SQL> INSERT INTO (USERID, USERNAME) VALUES(생성한 시퀀스 이름. NEXTVAL, '은스타');
예) 30부터 시작해서 2씩 증가하고 범위가 100까지인 SEQUENCE 생성
CREATE SEQUENCE MEMBER_SEQ
INCREMENT BY 2
START WITH 30
MAXVALUE 100
3. SEQUENCE 수정
ALTER SEQUENCE 수정할 시퀀스 이름
[INCREMENT BY 정수]
[MAXVALUE 정수 OR NOMAXVALUE]
[MINVALUE 정수 OR NOMINVALUE]
[CACHE 정수 OR NOCACHE]
본인의 SEQUENCE 이거나 SEQUENCE ALTER 권한이 있을 때만 수정이 가능합니다.
아직 생성되지 않은 SEQUENCE만이 ALTER SEQUENCE 명령에 영향을 받습니다.
유효성 검사를 하게 됩니다.
예를 들어 새로운 MAXVALUE는 현재의 SEQUENCE보다 커야 합니다.
START WITH 옵션은 ALTER SEQUENCE를 써서 변경할 수 없습니다.
다른 번호에서 다시 시작하려면 이전 SEQUENCE를 삭제하고 다시 생성해야 합니다.
4. SEQUENCE 삭제
DROP SEQUENCE 삭제할 시퀀스 이름
'Development > DB' 카테고리의 다른 글
[DB] SQL의 기본과 활용 - 1 (0) | 2022.08.31 |
---|---|
[DB] Oracle Listener (0) | 2020.04.08 |
[DB] ROWNUM과 ROWID (0) | 2020.04.08 |
[DB] ORACLE DB 사용자 계정 패스워드 없애는 방법 (0) | 2020.04.08 |
[DB] ORACLE DB SYSTEM, SYS 암호 변경 (0) | 2020.04.08 |