Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 

ALTER SERIAL

설명

ALTER SERIAL 문을 이용하면 시리얼 값의 증가치를 갱신하고 시작 값, 최소 값, 최대 값을 설정하거나 제거할 수 있으며, 순환 속성을 설정할 수 있다.

구문

ALTER SERIAL serial_identifier

[ INCREMENT BY interval ]

[ START WITH initial_value ]

[ MINVALUE min | NOMINVALUE ]

[ MAXVALUE max | NOMAXVALUE ]

[ CACHE integer | NOCACHE ]

  • serial_identifier : 생성할 시리얼의 이름을 지정한다.
  • INCREMENT BY interval : 시리얼 숫자간의 간격을 지정한다. interval 값으로 0을 제외한 38자리 이하의 어떤 정수도 지정할 수 있다. interval의 절대값은 MAXVALUEMINVALUE의 차이보다 작아야 한다. 음수가 설정되면 시리얼은 내림차순이 되고 양수가 설정되면 오름차순이 된다. 기본값은 1이다.
  • START WITH initial_value : 시리얼의 시작 값을 변경한다.
  • MINVALUE : 시리얼의 최소값을 지정한다. 이 값은 38자리 이하의 숫자이다. MINVALUE는 초기값보다 작거나 같아야 하고 최대값보다 작아야 한다.
  • NOMINVALUE : 오름차순 시리얼에 대해서는 1, 내림차순 시리얼에 대해서는 -(10)36이 최소값으로 자동 지정된다.
  • MAXVALUE : 시리얼의 최대값을 지정한다. 이 값은 38자리 이하의 숫자이다. MAXVALUE는 초기값보다 크거나 같아야 하고 최소값보다 커야 한다.
  • NOMAXVALUE :  오름차순 시리얼에 대해서는 (10)37, 내림차순 시리얼에 대해서는 -1이 최대값으로 자동 지정된다.
  • CYCLE : 시리얼 값이 최대 또는 최소값에 도달한 후에 연속적으로 값을 생성하도록 지정한다. 오름차순 시리얼은 최대값에 도달한 후에 다음 값으로 최소값이 생성된다. 내림차순 시리얼은 최소값에 도달한 후에 다음 값으로 최대값이 생성된다.
  • NOCYCLE : 시리얼이 최대 또는 최소값에 도달한 후에 시리얼 값이 더 이상 생성되지 않도록 지정한다. 기본값은 NOCYCLE이다.
  • CACHE : 시리얼 성능을 향상시키기 위하여 integer에 지정된 개수만큼의 시리얼을 캐시에 저장하고, 시리얼 값을 요청받으면 캐시된 시리얼 값을 가져온다. CACHE 키워드 뒤에 integer는 생략할 수 없으며, 1 이하의 숫자가 지정되면 시리얼 캐시가 적용되지 않는다.
  • NOCACHE : 시리얼 캐시 기능을 사용하지 않으며, 매번 시리얼 값이 업데이트되고, 요청 시마다 디스크로부터 시리얼 값을 가져온다.

주의 1 CUBRID 2008 R1.x 버전에서는 시스템 카탈로그인 db_serial 테이블을 업데이트하는 방식으로 시리얼 값을 변경할 수 있었으나, CUBRID 2008 R2.0 이상 버전부터는 db_serial 테이블의 수정은 허용되지 않고 ALTER SERIAL 구문을 이용하는 방식만 허용된다. 따라서 CUBRID 2008 R2.0 이상 버전에서 내보내기(unloaddb)한 데이터에  ALTER SERIAL 구문이 포함된 경우에는 이를 CUBRID 2008 R1.x 이하 버전에서 가져오기(loaddb)할 수 없다.

주의 2 CUBRID 9.0 미만 버전에서는 ALTER SERIAL 이후 첫번째 NEXT_VALUE 값을 구하면 ALTER SERILAL로 설정한 초기값의 다음 값을 반환했으나, CUBRID 9.0 이상 버전에서는 ALTER_SERILAL의 설정값을 반환한다.

예제

--altering serial by changing start and incremental values

ALTER SERIAL order_no START WITH 100 INCREMENT BY 2;

 

--altering serial to operate in cache mode

ALTER SERIAL order_no CACHE 5;

 

--altering serial to operate in common mode

ALTER SERIAL order_no NOCACHE;