database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
ㆍCUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
CUBRID Q&A 169 게시물 읽기
No. 169
오라클의 sequence나 MySQL의 auto_increment와 같은 기능을 알고 싶습니다.
작성자
허정수(wertyu)
작성일
2006-06-24 18:05
조회수
8,018

안녕하세요.

 

큐브리드에서 오라클의 시쿼스나 MySQL의 AUTO_INCREMENT 컬럼 같은

기능이 어떤 것인지 알고 싶습니다.

 

시퀀스라는 컬럼 타입이 있긴 하던데 이건 다른 기능이더군요.

 

더불어 그런 기능이 있다면, 값을 입력 후, 입력된 값을

얻어 오는 방법도 알고 싶습니다.

 

바쁘시면 해당 문서 위치라도 알려 주시면 감사하겠습니다.

 

감사합니다.

이 글에 대한 댓글이 총 2건 있습니다.

안녕하십니까?

(주)큐브리드의 손승일입니다.

먼저 CUBRID에 관심을 가져 주셔서 감사합니다.

 

저희 CUBRID에도 오라클의 시퀀스와 같은 기능을 하는 타입으로  SERIAL이라는 타입이 있습니다.

기능은 아시는바와 같이 유일한 일련번호를 생성하고 사용하는 것으로

1. 생성방법은 다음과 같습니다.

CREATE SERIAL serial_identifier

[START WITH n]

[INCREMENT BY n]

[MINVALUE n | NOMINVALUE]

[MAXVALUE n | NOMAXVALUE]

[CYCLE | NOCYCLE]

-         START WITH n : 일련번호의 시작 번호 값을 n으로 지정

-         INCREMENT BY n : 생성되는 번호들의 증감 폭을 n으로 지정(default 1)

-         MINVALUE n : 최소값을 n으로 설정(default 1, -1036)

-         MAXVALUE n : 최대값을 n으로 설정(default 1036, -1)

-         CYCLE | NOCYCLE : 최대(최소)값에 도달했을 경우, 값을 생성 여부지정

 

예)

sqlx또는 visual-sql을 통해 DB에 접속하셔서

create serial ser_num start with 1 maxvalue 1000 nocycle;

실행하시면

SERIAL ser_num이 시작 1, 최대 1000, 재생성하지 않음 으로 생성됩니다.

 

2. 생성된 SERIAL을 사용하는 방법은 다음과 같습니다.

- CURRENT_VALUE : SERIAL의 현재 값 리턴.

- NEXT_VALUE : 현재 SERIAL을 증가 시킨 후 증가된 값 리턴.

 

예)

위에서 생성한 SERIAL ser_num을 사용한다면

select ser_num.next_value from table({1}) t(a);

실행하시면

SERIAL ser_num의 증가된 값이 리턴됩니다.

 

3. SERIAL을 갱신하는 방법은 다음과 같습니다.

ALTER SERIAL serial_idendifier

             [INCREMENT BY n]

             [MINVALUE n | NOMINVALUE]

             [MAXVALUE n | NOMAXVALUE]

             [CYCLE | NOCYCLE]

 

모든 요소가 다 수정 가능하지는 않고 위와 같은 요소들만 수정할 수 있습니다.

예)

alter serial ser_num increment by2;

실행하시면

SERIAL ser_num의 증감폭을 2로 변경합니다.

 

4. SERIAL 삭제 방법은 다음과 같습니다.

DROP SERIAL serial_identifier

 

예)

drop serial ser_num;

실행하면 SERIAL ser_num이 삭제됩니다.

 

이상으로 질문하신 내용에 대해 간략히 답변드렸습니다. 도움이 되었기를 바랍니다.

감사합니다.

 

손승일님이 2006-06-26 15:51에 작성한 댓글입니다. Edit

아하. 그렇군요~

친절한 답변에 감사드립니다.! (__)

허정수(wertyu)님이 2006-06-26 16:03에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
196cubrid Environment variable 질문이요! [1]
김성욱
2006-11-06
4904
172cubrid에 질의시 commit 과 rollback 에 관해서.. [1]
이상호
2006-07-20
6465
171기능에 대한 몇가지 질문입니다... [4]
조희수
2006-07-03
6154
169오라클의 sequence나 MySQL의 auto_increment와 같은 기능을 알고 싶습니다. [2]
허정수
2006-06-24
8018
168큐브리드 무료 다운로드 질문 [1]
개발자
2006-06-23
7298
167라이센스 와 API [1]
team b
2006-06-18
6586
122특징좀 간단히 설명좀 해주세요... [1]
학생
2005-05-30
7344
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다