[Oracle] 시퀀스 생성 추가 삭제
Database 2006/03/22 01:20
지정된 수치로 증가하거나 감소시키는 일종에 번호표.
최대 15개까지 생성가능. 시작 값은 수정
-시퀀스 생성
INCREMENT BY n은 sequence 번호간의 가격인 정수 n이며, 생략되면 sequence는 1씩 증가.
START WITH n은 생성되는 첫 번째 sequence 번호로 생략되면 시퀀스는 1씩 증가.
MAXVALUE n은 생성가능한 sequence의 최대값.
NOMAXVALUE는 기본 옵션으로 최대값은 1027
MINVALUE n은 생성가능한 sequence의 최소값(써주지 안으면 default 값인 38이 주어집니다.)
NOMINVALUE는 최소값 1.
CACHE n|NOCACHE는 Oracle Server가 미리 지정하고 메모리에 유지할 값의 수로 default값은 20입니다.
테이블에 insert때 시퀀스값 넣어주기.
SQL>insert into (id_num,name) values (시퀀스네임.NEXTVAL, '이름');
30부터 시작해서 2씩 감소하는 범위가 최대값 70에서 최소값 -50까지에서 번호표를 생성후 셀렉트
SQL> create sequence member_no2 increment by -2 start with 30
2 maxvalue 70
3 minvalue -50;
SQL> select member_no2.nextval, name, tel, addr 2 from member;
-시퀀스 수정
자신의 sequence이거나 sequence에 대한 ALTER 권한을 가져야만 sequence를 수정할 수 있다.
아직 생성되지 않은 sequence값만이 ALTER SEQUENCE 명령에 영향받음.
유효성 검사를 하게 됩니다. 예를 들어, 새로운 MAXVALUE는 현재의 sequence값보다 작지 않아야 한다.
START WITH 옵션은 ALTER SEQUENCE를 써서 변경할 수 없습니다. 다른 번호에서 다시 시작하려면 이전 sequence를 삭제하고 다시 생성해야 한다.
-시퀀스 삭제
최대 15개까지 생성가능. 시작 값은 수정
-시퀀스 생성
CREATE SEQUENCE 생성할시퀀스네임
[INCREMENT BY n]
[START WITH n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n | NOCACHE}];
[INCREMENT BY n]
[START WITH n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n | NOCACHE}];
※n은 값, |는 선택조건 or
INCREMENT BY n은 sequence 번호간의 가격인 정수 n이며, 생략되면 sequence는 1씩 증가.
START WITH n은 생성되는 첫 번째 sequence 번호로 생략되면 시퀀스는 1씩 증가.
MAXVALUE n은 생성가능한 sequence의 최대값.
NOMAXVALUE는 기본 옵션으로 최대값은 1027
MINVALUE n은 생성가능한 sequence의 최소값(써주지 안으면 default 값인 38이 주어집니다.)
NOMINVALUE는 최소값 1.
CACHE n|NOCACHE는 Oracle Server가 미리 지정하고 메모리에 유지할 값의 수로 default값은 20입니다.
테이블에 insert때 시퀀스값 넣어주기.
SQL>insert into (id_num,name) values (시퀀스네임.NEXTVAL, '이름');
30부터 시작해서 2씩 감소하는 범위가 최대값 70에서 최소값 -50까지에서 번호표를 생성후 셀렉트
SQL> create sequence member_no2 increment by -2 start with 30
2 maxvalue 70
3 minvalue -50;
SQL> select member_no2.nextval, name, tel, addr 2 from member;
-시퀀스 수정
ALTER SEQUENCE 수정할시퀀스네임
[INCREMENT BY n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n | NOCACHE}];
[INCREMENT BY n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n | NOCACHE}];
자신의 sequence이거나 sequence에 대한 ALTER 권한을 가져야만 sequence를 수정할 수 있다.
아직 생성되지 않은 sequence값만이 ALTER SEQUENCE 명령에 영향받음.
유효성 검사를 하게 됩니다. 예를 들어, 새로운 MAXVALUE는 현재의 sequence값보다 작지 않아야 한다.
START WITH 옵션은 ALTER SEQUENCE를 써서 변경할 수 없습니다. 다른 번호에서 다시 시작하려면 이전 sequence를 삭제하고 다시 생성해야 한다.
-시퀀스 삭제
DROP SEQUENCE 삭제할시퀀스네임;
'Database' 카테고리의 다른 글
| [MySql] Load Data infile - 파일을 읽어서 테이블에 insert (0) | 2007/07/27 |
|---|---|
| [Mysql] 실행 계획 보기 (2) | 2007/05/29 |
| [Oracle] Oracle 예약어 (0) | 2007/02/27 |
| [MySql] MySql 예약어 (0) | 2007/02/27 |
| [MYSQL] Table에 Lock 사용하기 (2) | 2006/11/13 |
| [Mysql] 테이블 생성 및 전체내용 복사 (2) | 2006/06/15 |
| [Mysql] 테이블 생성쿼리 확인 (0) | 2006/06/15 |
| [Oracle] 시퀀스 생성 추가 삭제 (0) | 2006/03/22 |
| [Mysql] MySQL에서 트랜젝션 사용하기 (0) | 2006/03/22 |
| [Oracle] Rownum (0) | 2006/03/22 |
| [Oracle] PHP에서 오라클 프로시저 실행 (0) | 2006/03/22 |

이올린에 북마크하기
이올린에 추천하기


