SEQUENCE
오라클에서 제공하는 객체이다.
순차적으로 정수 값을 자동으로 생성하는 객체이다.
자동 번호 발생기 역할을 한다.
-- [표현식]
CREATE SEQUENCE 시퀀스명
[START WITH 숫자] -- 처음 발생시킬 시작 값, 기본 값 1
[INCREMENT BY 숫자] -- 다음 값에 대항 증가치, 기본 값 1
[MAXVALUE 숫자 | NOMAXVALUE] -- 발생시킬 최대값, 10의 27승-1까지 가능
[MINVALUE 숫자 | NOMINVALUE] -- 발생시킬 최소값, -10의 26승
[CYCLE | NOCYCLE] -- 시퀀스가 최대값까지 증가 완료 시 CYCLE은 START WITH 설정 값으로 돌아간다. NOCYCLE은 에러 발생한다. / 값의 반복|순환 여부를 결정
[CACHE 바이트크기 | NOCACH]; -- CACHE는 메모리 상에서 시퀀스 값을 관리한다. 기본 값 20 / 캐시메모리에 미리 할당값을 정해놓느냐, 바이트 크기
-- [사용 구문]
시퀀스명.CURRVAL : 현재 시퀀스의 값을 가져온다.
시퀀스명.NEXTVAL : 시퀀스 값을 증가시키고 증가된 시퀀스 값을 가져온다.
(기존 시퀀스 값에서 INCREMENT 값 만큼 증가된 값)
SELECT * FROM USER_SEQUENCES; 라는 데이터 딕셔너리를 통해서 시퀀스 객체를 확인해 볼 수 있다. |
✔️ NEXTVAL/CURRVAL 사용 가능 여부
SEQUENCE 수정
시퀀스를 수정할 때는 CREATE에 사용한 옵션도 변경이 가능하다.
단, START WITH 값은 변경이 불가능하기 때문에 변경하고 싶으면 삭제 후에 다시 생성해야 한다.
✔️ 표현식
ALTER SEQUENCE |
'Programming > SQL(Oracle)' 카테고리의 다른 글
DAY 66. [DataBase] PL/SQL (0) | 2021.10.23 |
---|---|
DAY 65. [DataBase] 객체 INDEX (0) | 2021.10.22 |
DAY 64. [DataBase] 객체 VIEW (0) | 2021.10.20 |
DAY 56. [DataBase] 오라클 DML(INSERT, UPDATE, DELETE) (0) | 2021.10.12 |
DAY 55. [DataBase] 오라클 DDL(ALTER, DROP) (0) | 2021.10.11 |