시퀀스
- 유일한 값을 자동으로 생성한다.
- 보통 PK 값을 생성하는데 사용된다.
- 응용 프로그램을 대체한다.
- 캐시를 통해 성능을 높인다.
시퀀스 생성, 수정
CREATE [| ALTER] SEQUENCE 시퀀스
[ START WITH 시작_값 - ALTER에서 시작불가
INCREMENT BY 증가_값
MAXVALUE [상한_값 | NOMAXVALUE]
MINVALUE [하한_값 | NOMINVALUE]
CYCLE | NOCYCLE
CACHE [cache_개수| NOCACHE] ];
MAXVALUE와 MINVALUE는 CYCLE을 사용할 때만 사용 ex) 상담원
- START WITH : 할당을 시작하는 값을 정의한다.
‐ INCREMENT BY : 생성되는 값의 증가치를 결정한다. 지정하지 않으면 1에서 시작한다.
‐ MAXVALUE : 생성될 상한 값을 정의한다. 기본 설정은 NOMAXVALUE이다.
‐ MINVALUE : 하한값을 정의한다. 기본 설정은 NOMINVALUE이다.
‐ CYCLE : 상한 값까지 생성한 이후 다시 하한 값부터 재 생성할 것인지 여부이다.
‐ CACHE : 메모리에 미리 생성될 값의 개수를 정의한다.
시퀀스 삭제 :
DROP SEQUENCE 시퀀스;
시퀀스 확인 :
SELECT sequence_name, max_value, min_value, increment_by,
cache_size, last_number, cycle_flag
FROM user_sequences;
시퀀스 사용 :
........시퀀스명.NEXTVAL
........시퀀스명.CURRVAL
‐ NEXTVAL : 시퀀스로부터 유일한 값을 할당 받는다.
‐ CURRVAL : 시퀀스로부터 마지막으로 할당 받은 값을 다시 할당 받는다.
‐ 주로 INSERT문의 VALUES절이나 UPDATE의 SET절에서 많이 사용된다.
'DB > Oracle DB(SQL)' 카테고리의 다른 글
[Oracle] 뷰(View) (0) | 2024.02.01 |
---|---|
[Oracle] 인덱스 (0) | 2024.02.01 |
[Oracle] 제약조건 -2 (UK, NOT NULL, CHECK) (1) | 2024.02.01 |
[Oracle] 제약 조건 -1 (PK, FK) (0) | 2024.01.31 |
[Oracle] DDL(테이블 생성, 삭제, 관리) (0) | 2024.01.31 |