728x90
티베로 시퀀스 생성, 삭제, 변경, 목록 조회
티베로 데이터베이스에서 지원하는 시퀀스 스키마 객체의 생성, 삭제, 변경, 목록 조회하는 방법에 대해 알아보자
시퀀스(Sequence)
시퀀스(Sequence)는 순차적으로 부여할 수 있는 고유 값을 생성하는 스키마 객체이다. 시퀀스를 통해 생성된 값은 주로 기본 키(primary key) 또는 유일 키(Unique Key)에 값을 채워 넣는다.
시퀀스를 이용하는 방법은 시퀀스 이름에 의사 컬럼을 붙여서 사용한다.
의사 컬럼 종류
- CURRVAL : 시퀀스의 현재 값을 반환한다.
- NEXTVAL : 시퀀스의 현재 값을 증가시키고, 증가된 그 값을 반환한다.
시퀀스 생성
CREATE SEQUENCE [schema.]sequence_name
INCREMENT BY n
MINVALUE n
MAXVALUE n
[CYCLE | NOCYCLE]
[CACHE n | NOCACHE];
- INCREMENT BY : 시퀀스의 값을 증가 시킬 때, 기준이 되는 값. 예를 들어, n이 5이면, 5씩 증가한다.
- MINVALUE, MAXVALUE : 시퀀스의 값 최소값과 최대값을 설정한다.
- NOCYCLE : 기본값은 NOCYCLE. 최대값(최소값)을 넘어서면, DCL(ALTER) 명령어를 사용하지 않는 이상 새로운 값을 생성할 수 없게 설정한다.
- CACHE : 기본값은 NOCACHE. 데이터베이스 성능 향상을 위해 내부 메모리에 값을 캐시하는 것을 설정한다.
시퀀스 사용
시퀀스를 생성하고 NEXTVAL 의사 컬럼을 사용해서 시퀀스에 처음 접근하면 시퀀스는 초기 값을 반환한다.
-- 시퀀스 생성
CREATE SEQUENCE SEQ_TEST
INCREMENT BY 1
MINVALUE 1
MAXVALUE 10;
-- NEXTVAL 의사 컬럼을 통해 시퀀스 처음 접근
-- 1 출력
SELECT SEQ_TEXT.NEXTVAL FROM DUAL;
시퀀스 삭제
시퀀스를 삭제하는 방법은 다른 테이블, 인덱스 등 오브젝트와 유사하다.
DROP SEQUENCE sequence_name;
시퀀스 변경
시퀀스 변경은 ALTER 명령문을 사용해야 한다. 예를 들어, 최소(최대)값에 도달해서 더 이상 시퀀스 값을 생성할 수 없을 때 시퀀스 변경을 무조건 해야 한다.
반대로 NOCYCLE 옵션으로 변경하고 싶을 때도 사용할 수 있다.
ALTER SEQUENCE sequence_name
INCREMENT BY 10
MAXVALUE 99999999999
NOCYCLE
CACHE 200;
시퀀스 정보 조회
현재 데이터베이스에 생성된 시퀀스 오브젝트 목록을 조회하기 위해서는 다음과 같은 정적 뷰 조회를 통해 알 수 있다. 데이터베이스 사용자 권한에 맞게 뷰를 선택해서 사용하면 된다.
- DBA_SEQUENCES
- ALL_SEQUENCES
- USER_SEQUENCES
특정 사용자가 소유한 시퀀스 목록 조회
-- 'jayden' 사용자가 소유한 시퀀스 조회
SELECT *
FROM ALL_SEQUENCES b
WHERE sequence_owner = 'jayden';
References
'Database' 카테고리의 다른 글
티베로 테이블스페이스(Tablespace) 조회 (0) | 2019.04.12 |
---|---|
Oracle SQL 문장에서 에러 위치 값 찾기 (0) | 2019.04.12 |
MySQL AutoCommit 설정 (0) | 2019.04.11 |
MySQL 현재 데이터베이스 조회 및 변경 (0) | 2019.04.11 |
티베로 Recycle Bin 파라미터 설정 및 조회 (0) | 2019.04.07 |
댓글