시리얼 생성
시리얼(SERIAL)은 고유한 순번을 생성하는 객체이다. 시리얼은 다음과 같은 특성을 갖는다.
- 시리얼은 다중 사용자 환경에서 디스크 입출력(I/O) 오버레드나 트랜잭션 잠금(transaction locking) 없이 고유한 순번을 생성하는데 용이하다.
- 시리얼 번호는 테이블과 독립적으로 생성된다. 따라서 동일한 하나 이상의 테이블에 동일한 시리얼을 사용할 수 있다.
설명
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;