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
운영게시판
최근게시물
Oracle Q&A 1705 게시물 읽기
No. 1705
Re: (초보) 테이블내의 ROW 값을 자동증가 시키려하는데요?
작성자
전명균
작성일
2000-10-11 09:00
조회수
10,329

시리얼 번호를 부여하고 싶으신가 본데

시퀀스를 사용하시는게 탁월한 선택이신 것 같습니다.

왜냐하면 어떤 순번 테이블의 컬럼의 MAX값(99)을 얻어서 다음 번호(99 + 1)

부여하는 것도 문제가 있습니다.

그 컬럼값(100)이 만약 삭제 되면 MAX값(99)은 다음은 당연히 100이 되겠죠

그럼 중복이 되겠지요.

이런 이유로 하여 시퀀스 데이블을 이용합니다. 시퀀스 테이블은 이전 값을

가지고 있어 중복될일 이 전혀 없으니 깐요...

그럼 시퀀스 에 대해 알아 보겠습니다.

▶ SQL> r

1 create sequence seq_inc

2 increment by 1

3 start with 51

4 maxvalue 또는 nomaxvalue 9999999

5 minvalue 또는 nominvalue 51

6 nocache 또는 cache

7* nocycle 또는 cycle

Sequence created.

=> 시퀀스 생성

▶ SQL> r

1 select seq_inc.nextval

2* from dual

=> 다음 시퀀스 값 조회

▶ SQL> select seq_inc.currval

2 from dual;

=> 현재 시퀀스 값 조회

▶ SQL> r

1 alter sequence seq_inc

2 increment by n

3 maxvalue/nomaxvalue n

4 minvalue/nominvalue n

5 nocache/cache

6* nocycle/cycle

Alter Sequence.

=> 시퀀스 수정

▶ SQL> drop sequence seq_inc

Sequence dropped.

=> 시퀀스 삭제.

 

조금이나마 도움이 되었으면 하네요.

좋은 하루 되십시요..

 

::김미나 님께서 쓰시길::

 

> 테이블의 id칼럼의 값을 처음부터 자동증가 시키려고하는데요.

> data가 테이블에 저장되면 자동으로 1.2.3...이런식으로 증가시키려고 합니다.

>

>

> 내용검색해보니

>

> "CREATE SEQUENCE문을 사용하여 시퀀스를 생성하고

>

> 시퀀스.nextval 을 입력값으로 하면 자동증가된 값들이 입력됩니다. "

>

> 라고 했는데 초보라서 어떻게 하는지 잘 모르겠네요..혹시 다른 방법도 있는지요?

>

[Top]
No.
제목
작성자
작성일
조회
1710insert
007
2000-10-11
10323
1721┕>Re: insert
전명균
2000-10-12 10:06:12
10584
1709남은 날짜 계산하기....
이종호
2000-10-11
10407
1711┕>Re: 남은 날짜 계산하기....
이경록
2000-10-11 17:30:41
11338
1714 ┕>Re: Re: 남은 날짜 계산하기....
전명균
2000-10-11 19:16:10
11552
1706where 조건절에서 몇개만 일치하는 행을 ...
최대룡
2000-10-11
9358
1707┕>Re: where 조건절에서 몇개만 일치하는 행을 ...
김규태
2000-10-11 12:42:48
10259
1708 ┕>Re: Re: where 조건절에서 몇개만 일치하는 행을 ...
최대룡
2000-10-11 15:12:15
10395
1713  ┕>Re: Re: Re: where 조건절에서 몇개만 일치하는 행을 ...
전명균
2000-10-11 18:58:45
10104
1716   ┕>[또 질문]Re: Re: Re: Re: where 조건절에서 몇개만 일치하는 행을 ...
최대룡
2000-10-11 20:06:04
10118
1719    ┕>Re: [또 질문]Re: Re: Re: Re: where 조건절에서 몇개만 일치하는 행을 ...
전명균
2000-10-12 09:17:30
10340
1722   ┕>Re: where 조건절에서 몇개만 일치하는 행을 ... 주의 할 점
김규태
2000-10-12 10:16:00
10466
1703(초보) 테이블내의 ROW 값을 자동증가 시키려하는데요?
김미나
2000-10-10
8796
1705┕>Re: (초보) 테이블내의 ROW 값을 자동증가 시키려하는데요?
전명균
2000-10-11 09:00:32
10329
1701[질문]Oracle Client 8.x를 인스톨하고나서요..
hjjin
2000-10-09
7385
1704┕>Re: [질문]Oracle Client 8.x를 인스톨하고나서요..
소몰이
2000-10-11 04:44:40
8174
1700안녕하세요?? 몇가지 질문이 있어서.. ^^;
김대현
2000-10-09
7690
1699오라클 정기적으루 백업(exp)하는 방법 가르켜 주세요?
양준재
2000-10-09
6763
1702┕>Re: exp도 명령행으로 실행가능할텐데요?
문태준
2000-10-09 23:02:41
6512
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다