시퀀스
Sequence
호출(실행)할때마다
자동적으로 숫자를 증가시키는 것(객체)
( 특징 )
1) Oracle에서 유일(UNIQUE)한 값을 생성해주는 객체
2) 기본키(PRIMARY KEY)와 같이 순차적으로 증가하는 칼럼을
자동으로 생성하여 중복 값이 생성되지 않음
3) 시퀀스는 테이블과는 독립적으로 저장하고 생성됨
시퀀스 문 작성
CREATE SEQUENCE [스키마.] 시퀀스명
INCREMENT BY 증감값
START WITH 시작값
[MINVALUE | NOMINVALUE] 최솟값
[MAXVALUE | NOMAXVALUE] 최댓값
[CYCLE | NOCYCLE]
[CACHE | NOCACHE]
[ORDER | NOORDER]
-- INCREMENT BY : 시퀀스 실행 시 증가시킬 값
-- START WITH : 시퀀스 시작값 (MINVALUE와 같거나 커야 한다)
-- MINVALUE : 시퀀스 시작 시 최소값
-- MAXVALUE : 시퀀스가 가질 수 있는 최댓값
-- NOCYCLE | CYCLE : 시퀀스의 최댓값 도달 시 최솟값 값으로 다시 반복 여부
-- CYCLE(최대값 도달 시 최소값으로 다시 시작)
-- NOCYCLE(반복 안함. 시퀀스 생성 중지)
-- NOCACHE | CACEH : 캐시를 사용하여 메모리에 미리 값을 계산하여 속도를 개선,동시 사용자가 많을 경우 장점
-- NOCACHE(사용 안함) : CACHE값 : 기본값 20 지정한 값만큼 시퀀스를 미리 생성
-- NOORDER | ORDER : 옵션에서 지정한 순서로 값을 생성
-- NOORDER(사용 안함) , ORDER(사용)
지정한 시퀀스명의 값 실행
시퀀스명.NEXTVAL
현재 시퀀스 번호확인
시퀀스명.CURRVAL
데이터사전(DICTIONARY VIEW) 에서 확인
SELECT * FROM USER_SEQUENCES
시퀀스 삭제
DROP SEQUENCE 시퀀스명
'데이터베이스 > ORACLE_DB' 카테고리의 다른 글
Oracle_SQL - System Role (유저생성 , 권한부여 , 동의어) (0) | 2023.09.14 |
---|---|
Oracle_SQL - 인덱스 (INDEX) (0) | 2023.09.14 |
Oracle_SQL - 제약조건 (0) | 2023.09.14 |
Oracle_SQL - 테이블 데이터 추가 , 조회 , 수정 , 삭제 (DML) (0) | 2023.09.13 |
Oracle_SQL - 테이블 생성 , 수정 , 삭제 (DDL) (0) | 2023.09.13 |