Sequence
시퀀스
- 오라클 데이터베이스는 기본 키로 지정할 수 있는 자동 증분 칼럼을 생성할 수 있게 지원하고 있는데,
이 자동 증분 칼럼을 시퀀스라 한다.
- 시퀀스 번호가 생성되면 Transaction Commit 또는 Rollback 과 관계없이 시퀀스가 증분된다.
- 한 사용자는 다른 사용자가 생성한 시퀀스 번호를 획득할 수 없다.
- 시퀀스 번호는 테이블과 독립적으로 생성되므로 동일한 시퀀스를 하나 또는 여러 테이블에 사용할 수 있다.
Purpose of Use of Sequence (시퀀스의 사용 목적)
- 시퀀스를 사용하여 Primary Key 값을 자동으로 생성할 수 있다.
Sequence Syntax (시퀀스 문법)
- 권한이 있는 스키마에 대한 시퀀스를 생성할 경우, CREATE SEQUENCE
를 사용하고,
다른 사용자의 스키마에 대한 시퀀스를 생성할 경우, CREATE ANY SEQUENCE
를 사용한다.
CREATE SEQUENCE (시퀀스 생성 문법)
CREATE SEQUENCE [ schema. ] sequence
[ SHARING = { METADATA | DATA | NONE } ]
[ { INCREMENT BY | START WITH } integer
| { MAXVALUE integer | NOMAXVALUE }
| { MINVALUE integer | NOMINVALUE }
| { CYCLE | NOCYCLE }
| { CACHE integer | NOCACHE }
| { ORDER | NOORDER }
| { KEEP | NOKEEP }
| { SCALE {EXTEND | NOEXTEND} | NOSCALE }
| { SESSION | GLOBAL }
]...
;
DROP SEQUENCE (시퀀스 제거 문법)
DROP SEQUENCE [ schema. ] sequence_name ;
Pseudocolumn : CURRVAL
- 시퀀스의 현재값을 반환한다.
Pseudocolumn : NEXTVAL
- 시퀀스가 증분된 값을 반환한다.
Reference: Oracle, CREATE SEQUENCE, URL, 2023년 3월 29일 검색
Reference: Oracle, DROP SEQUENCE, URL, 2023년 3월 29일 검색