SQL_SEQUENCE

zooyeong·2023년 4월 25일
0

13주차

목록 보기
3/7
post-thumbnail

📌SEQUENCE란?

시퀀스란 순차적으로 증가하는 순번을 자동으로 반환하는 데이터베이스 객체이다. 보통 PK 값에 중복값을 방지하기 위해 사용한다.

CREATE SEQUENCE 시퀀스명
INCREMENT BY 증감숫자 --디폴트값 1
START WITH 시작숫자 --디폴트값 1
MAXVALUE 최대값 | NOMAXVALUE
MINVALUE 최솟값 | NOMINVALUE
CYCLE | NOCYCLE -- CYCLE 설정 시 최대값에 도달하면 다시 시작
CACHE | NOCACHE --시퀀스 생성 속도를 개선하기 위해 캐싱 여부 지정

▼시퀀스 생성하기

-> order_history_seq라는 시퀀스를 생성

-> 생성한 시퀀스를 조회할 때 마다 소모되어 값이 1씩 올라감

-> 시퀀스의 마지막 값을 조회하려 했는데 CACHE값을 1로 넣어주지 않아(기본값 20) 제대로 된 값을 조회하지 못함
-> 캐싱값을 1로 넣어줘야 볼 수 있음

-> currval을 통해 현재 시퀀스의 마지막 값 조회 가능

▼시퀀스 삭제하기

DROP SEQUENCE 시퀀스명;

시퀀스를 1부터 다시 시작하도록 변경하는 것은 상당히 번거로움 -> DROP하고 다시 설정하는 것을 추천!!!

▼SYNONYM(동의어)

-> 시노뉨 권한 부여

-> scott.order_history를 관리자 계정에서도 scott을 빼고 order_history로 부르기 위해 시노뉨 생성

-> 관리자 계정에서 scott을 빼고도 조회 가능

profile
Have a good day ⌯’▾’⌯

0개의 댓글