Tibero4 기본강좌
Sequence 관리 0 0 83,568

by 티베로 Tibero Object Tibero Sequence [2009.12.23]


Sequence (이하 시퀀스)

시퀀스는 순차적으로 부여하는 고유번호이다. 주로 새로운 데이터에 유일한 고유번호를 자동으로 부여할 때 사용한다.

시퀀스의 관리

시퀀스의 생성과 사용

시퀀스를 생성하기 위해서는 CREATE SEQUENCE 문을 사용해야 한다. 다음은 시퀀스를 생성하는 방법이다.

CREATE SEQUENCE [schema.]sequence_name 
  INCREMENT BY n 
  MINVALUE n 
  MAXVALUE n 
  [CYCLE | NOCYCLE] 
  [CACHE n | NOCACHE];

  • - INCREMENT BY: 시퀀스의 값을 사용할 때마다 얼마씩 증가 또는 감소할지를 설정한다.
  • - MINVALUE, MAXVALUE: 시퀀스가 생성할 수 있는 최솟값 또는 최댓값을 설정한다.
  • - NOCYCLE: 시퀀스는 기본으로 NOCYCLE로 정의되어 있다. 최댓값(값이 감소할 경우에는 최솟값)에 도달하면 ALTER SEQUENCE 문을 사용하지 않는 한 새로운 값을 생성할 수 없다.
  • - CACHE: 데이터베이스 성능 향상을 위해 내부적으로 메모리에 값을 캐시한다. 기본은 10이다.

다음은 시퀀스를 생성하는 예이다.

CREATE SEQUENCE NEW_ID 
  MINVALUE 1000 
  MAXVALUE 9999 
  INCREMENT BY 10 
  CACHE 100 
  NOCYCLE;

다음은 시퀀스를 사용하는 예이다.

CREATE TABLE EMP_ID (ID NUMBER, NAME VARCHAR(30)); 

INSERT INTO EMP_ID VALUES(NEW_ID.NEXTVAL, 'Peter');

시퀀스의 변경

시퀀스를 변경하기 위해서는 ALTER SEQUENCE 문을 사용해야 한다. 다음은 시퀀스를 변경하는 예이다.

ALTER SEQUENCE NEW_ID 
  MAXVALUE 99999 
  INCREMENT BY 1 
  CACHE 200;

시퀀스의 삭제

시퀀스를 삭제하기 위해서는 DROP SEQUENCE 문을 사용해야 한다. 다음은 시퀀스를 삭제하는 예이다.

DROP SEQUENCE NEW_ID;

시퀀스의 정보 조회

Tibero RDBMS에서는 시퀀스의 정보를 제공하기 위해 다음 표에 나열된 정적 뷰를 제공하고 있다. DBA나 일반 사용자 모두 사용할 수 있다.

정적 뷰 설명
DBA_SEQUENCES Tibero RDBMS 내의 모든 시퀀스의 정보를 조회하는 뷰이다.
USER_SEQUENCES 현재 사용자에 속한 시퀀스의 정보를 조회하는 뷰이다.
ALL_SEQUENCES 사용자가 접근 가능한 시퀀스의 정보를 조회하는 뷰이다.

- 강좌 URL : http://www.gurubee.net/lecture/2088

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입