달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
반응형

Oracle 시퀸스(sequence) 생성

 

사용하는 이유는 간단히 아래와 같다고 할 수 있겠다.

    - 자동으로 고유한 숫자값을 생성해주며 기본 키 값을 생성하기위해 사용(ex 게시판 글번호)

    - 자동으로 Unique number 를 생성, 공유 가능한 object, 일반적으로 primary key 값을 생성을 위해 사용


사용 예)

CREATE SEQUENCE / 시퀸스 NAME /

INCREMENT BY 1                / 값은 1씩 증가한다 /

START WITH 10                  / 초기 시작 값은 10 이다. 즉 10,11,12... 증가된다 /

MAXVALUE 10000                 / 마지막 최대 값은 10000 이다 /

NOCACHE       / 시스템에 미리 수를 계산해서 만들어 놓을것인지 나중에 계산해서 넣을것인지 /

NOCYCLE       / 최대값까지 증가 되었다면 다시 초기값으로 시작된다 만약 10000 까지 갔다면                   다시 초기 값부터 시작한다 /



1. Oracle 시퀸스(sequence) 확인


--- 최초 조회시 ---

SELECT 시퀸스이름.NEXTVAL FROM DUAL ;


화면출력 >>

        NEXTVAL

        10


출력설명) 초기 시작값을 10으로 설정했기에 10이 나온다. 당연한 말인가..^^;;;

select 시퀸스이름.nextval from daul; 이라 다시 명령하면, 그 조회값은 11이 된다.

다시 말하면, 조회한번에 증가폭만큼 증가 된다.

 

예제)

INSERT INTO ORDER(ORDER_ID, ORDER_NAME, PHONE)

VALUES (order_seq.NEXTVAL,'가나다','010-0000-1111');

 

 


2. Oracle 시퀸스(sequence) 변경

- ALTER SEQYENCE 시퀸스 이름 뒤에 바꿀 내용들.

ALTER SEQUENCE emp_id_seq INCREMENT BY 3 NOCHCHE NOCYCLE;

 

- 시퀸스 변경시 START WITH 옵션은 변경 할수 없다. 변경하려면 삭제 후 생성.


3. Oracle 시퀸스(sequence) 삭제


drop sequence 시퀸스이름; 

반응형
Posted by 친절한 웬디양~ㅎㅎ
|