시리얼 생성
시리얼(SERIAL)은 고유한 순번을 생성하는 객체이다. 시리얼은 다음과 같은 특성을 갖는다.
- 시리얼은 다중 사용자 환경에서 고유한 순번을 생성하는데 용이하다.
- 시리얼 번호는 테이블과 독립적으로 생성된다. 따라서 하나 이상의 테이블에 동일한 시리얼을 사용할 수 있다.
설명
CREATE SERIAL 문을 이용하여 데이터베이스에 시리얼 객체를 생성한다.
구문
CREATE SERIAL serial_identifier
[ START WITH initial ]
[ INCREMENT BY interval]
[ MINVALUE min | NOMINVALUE ]
[ MAXVALUE max | NOMAXVALUE ]
[ CYCLE | NOCYCLE ]
- serial_identifier : 생성할 시리얼의 이름을 지정한다.
- START WITH initial : 처음 생성되는 시리얼 숫자를 지정한다. 이 값은 38자리 이하의 숫자이다. 오름차순 시리얼의 경우 디폴트 값은 시리얼의 최소값이며 내림차순 시리얼의 경우 디폴트 값은 시리얼의 최대값이다.
- INCREMENT BY interval : 시리얼 숫자 간의 간격을 지정한다. interval 값으로 0을 제외한 38자리 이하의 어떤 정수도 지정할 수 있다. interval의 절대값은 MAXVALUE와 MINVALUE의 차이보다 작아야 한다. 음수가 설정되면 시리얼은 내림차순이 되고 양수가 설정되면 오름차순이 된다. 디폴트 값은 1이다.
- MINVALUE : 시리얼의 최소값을 지정한다. 이 값은 38자리 이하의 숫자이다. MINVALUE는 초기값보다 작거나 같아야 하고 최대값보다 작아야 한다.
- NOMINVALUE : 오름차순 시리얼에 대해서는 1, 내림차순 시리얼에 대해서는 -(10)36이 최소값으로 자동 지정된다.
- MAXVALUE : 시리얼의 최대값을 지정한다. 이 값은 38자리 이하의 숫자이다. MAXVALUE는 초기값보다 작거나 같아야 하고 최소값보다 커야 한다.
- NOMAXVALUE : 오름차순 시리얼에 대해서는 (10)37, 내림차순 시리얼에 대해서는 -1이 최대값으로 자동 지정된다.
- CYCLE : 시리얼 값이 최대 또는 최소값에 도달한 후에 연속적으로 값을 생성하도록 지정한다. 오름차순 시리얼은 최대값에 도달한 후에 다음 값으로 최소값이 생성된다. 내림차순 시리얼은 최소값에 도달한 후에 다음 값으로 최대값이 생성된다.
- NOCYCLE : 시리얼이 최대 또는 최소값에 도달한 후에 시리얼 값이 더 이상 생성되지 않도록 지정한다. 디폴트 값은 NOCYCLE이다.
예제
- 예제 1
- 다음은 초기값 1, 증가값 1, 최대 값으로 1037으로 지정된 시리얼 객체 order_no를 생성하는 예제이다.
CREATE SERIAL order_no;
- 예제 2
- 다음은 초기값 10,000, 증가값 2, 최대 값 20,000으로 지정된 시리얼 객체 idx_no를 생성하는 예제이다.
CREATE SERIAL idx_no START WITH 10000 INCREMENT BY 2 MAXVALUE 20000;