티스토리 뷰

카테고리 없음

큐브리드 : 시리얼

토르웰 2011. 3. 6. 17:53

시리얼  


시리얼(SERIAL)은 고유한 순번을 생성하는 객체이다. 다중 사용자 환경에서 고유한 순번을 생성하여 사용할 수 있으며 테이블과 독립적으로 생성되기 때문에 다수의 테이블에서 동일한 시리얼을 사용할 수 있다.


시리얼 생성
구문

CREATE SERIAL serial_identifier
[ START WITH 처음 생성되는 시리얼 번호 ]
[ INCREMENT BY 증가 값]
[ MINVALUE 시리얼의 최소 값 | NOMINVALUE ]
[ MAXVALUE 시리얼의 최대 값 | NOMAXVALUE ]
[ CYCLE | NOCYCLE ]

CACHENOCACHE



예제 1
CREATE SERIAL order_no;


위의 예제는 초기값 1, 증가값 1, 최대 값으로 1037으로 지정된 시리얼 객체 order_no를 생성하는 예제이다.#

예제 2
CREATE SERIAL idx_no START WITH 10000 INCREMENT BY 2 MAXVALUE 20000;


위의 예제는 초기값 10,000, 증가값 2, 최대 값 20,000으로 지정된 시리얼 객체 idx_no를 생성하는 예제이다.


시리얼 읽고 갱신
구문
시리얼 아이디.CURRENT_VALUE
시리얼 아이디.NEXT_VALUE


테이블 생성 및 데이터 삽입 SQL문
CREATE TABLE athlete_idx
( code INT, NAME VARCHAR(40) );
    
INSERT INTO athlete_idx VALUES (order_no.NEXT_VALUE, 'Park Tae-Hwan');
INSERT INTO athlete_idx VALUES (order_no.NEXT_VALUE, 'Kim Youn-a');


결과 값 출력 SQL문
SELECT * FROM athlete_idx;


결과 테이블
no
code
name
1
1
Park Tae-Hwan
2
2
Kim Youn-a

주의 사항
시리얼을 생성하고 처음 사용할 때 NEXT_VALUE를 이용하면 초기 값을 반환한다. 그 이후에는 현재 값에 증가 값이 추가되어 반환된다.


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

구문
ALTER SERIAL 시리얼 아이디
[ INCREMENT BY 증가 값 ]
[ START WITH 시작 값 변경 ]
[ MINVALUE 최소 값| NOMINVALUE ]
[ MAXVALUE 최대 값| NOMAXVALUE ]
[ CYCLE | NOCYCLE ]
CACHENOCACHE


시리얼 변경 후 데이터 삽입 SQL문
ALTER SERIAL order_no INCREMENT BY 2;

INSERT INTO athlete_idx VALUES (order_no.NEXT_VALUE, 'Park Ji-Sung');


결과 값 출력 SQL문
SELECT * FROM athlete_idx;


결과 테이블
no
code
name
1
1
Park Tae-Hwan
2
2
Kim Youn-a
3
4
Park Ji-Sung


시리얼 삭제
설명
DROP SERIAL 문으로 시리얼 객체를 데이터베이스에서 삭제할 수 있다.

구문
DROP SERIAL 시리얼 아이디


시리얼 삭제 SQL문
DROP SERIAL idx_no;




시리얼 권한 부여

PUBLIC을 포함한 어떤 사용자도 시리얼 객체를 생성할 수 있다. 일단 생성되면 모든 사용자들이 CURRENT_VALUE, NEXT_VALUE를 통해 시리얼 숫자를 가져갈 수 있다. 시리얼 객체를 갱신하고 삭제하는 것은 단지 소유자와 DBA만 가능하다. 하지만 만약 소유자가 PUBLIC이면 모두가 갱신하거나 삭제할 수 있다.
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크