이야기앱 세상

오라클 시퀀스 생성 및 수정, 삭제 본문

IT/Database

오라클 시퀀스 생성 및 수정, 삭제

storya 2016. 3. 21. 14:39

시퀀스는 유일한 값을 생성해주는 오라클 객체로 보통 primary key로 사용할 수 있는

순차적으로 증가하는 숫자 컬럼을 생성할 때 사용한다.

 

CREATE SEQUENCE 시퀀스이름

  [INCREMENT BY 숫자]
  [START WITH 숫자]
  [MAXVALUE 숫자 or NOMAXVALUE]
  [MINVALUE 숫자 or NOMINVALUE]
  [CYCLE or NOCYCLE]
  [CACHE or NOCACHE];

 

increment by : 시퀀스의 증가 값, 생략시 1씩 증가

start with : 시퀀스의 시작 값, 1로 지정하면 1부터 순차적으로 증가, 생략시 1

 

MAXVALUE 숫자 or NOMAXVALUE : MAXVALUE는 시퀀스가 증가할 수 있는 최대값,

                                                      NOMAXVALUE는 오름차순 최대 10의 27승 까지, 내림차순 -1 까지 생성 

MINVALUE  숫자 or NOMINVALUE : MINVALUE는 시퀀스의 최소값을 지정, 기본값은 1,

                                                     NOMINVALUE는 오름차순 1 까지, 내림차순 -10의 26승 까지

CYCLE or NOCYCLE : CYCLE은 시퀀스가 최대값 도달 후 다시 처음부터 시퀀스 생성

                                 NOCYCLE은 최대값에 도달해도 다시 시퀀스를 생성하지 않음

CACHE or NOCACHE : CACHE는  시퀀스 값을 메모리에 할당, 기본값은 20

                                   NOCACHE는  시퀀스를 메모리에 할당하여 사용하지 않음.

<시퀀스 생성 예(기본값으로 생성할 경우)>

 

CREATE SEQUENCE 시퀀스이름;

 

<생성된 시퀀스 정보 보기>

 

select * from user_sequeneces;

 

<insert 문에서 시퀀스 호출하기>

 

SQL>insert into test(num, name, reg_date) values (num_seq.NEXTVAL, 'john', sysdate);


num_seq : 시퀀스명

currval : 현재 시퀀스 값을 반환

nextval : 현재 시퀀스값의 다음 값을 반환

 

<시퀀스 수정>

 

start with 는 수정할 수 없음,  start with를 제외하고 시퀀스 생성시 사용하는 옵션 모두 사용가능

SQL>alter sequence 시퀀스명

        increment by 2;

 

<시퀀스 삭제>

 

SQL>drop sequence 시퀀스명;

반응형

'IT > Database' 카테고리의 다른 글

오라클 CLOB 데이터 입출력  (0) 2016.03.21
오라클 ROWNUM을 이용한 페이징 처리  (0) 2016.03.21
오라클 계정 비밀번호 변경  (0) 2016.03.21
오라클 계정 생성 및 삭제  (0) 2016.03.21
oracle 계정 lock 풀기  (0) 2016.03.21
Comments