티스토리 뷰

728x90

자동 / 연속적으로 번호를 생성해야 할때 사용, MySQL에서의 INCREMENT와 비슷함

◎ 시퀀스 생성
    - CREATE SEQUENCE "시퀀스명"
          [START WITH "숫자"]
          [INCREMENT BY "숫자"]
          [{MAXVALUE "숫자 | NOMAXVALUE}]
          [{MINVALUE "숫자 } NOMINVALUE}]
          [{CYCLE | NOCYCLE}]
          [{CACHE "숫자" | NOCACHE}]

      ㆍSTART WITH : 시작값 지정
      ㆍINCREMENT BY : 연속적인 증가치 지정
      ㆍMAXVALUE : 가질 수 있는 최대값 지정
      ㆍMINVALUE : 가질 수 있는 최소값 지정
      ㆍCYCLE : 지정된 최대값까지 증가되면 START WITH 로 지정한 시작값에서 다시 시작
         ※ NOCYCLE : 최대값까지 증가가 완료되면 에러 발생
      ㆍCACHE : 메모리상의 시퀀스값 관리, 기본값은 20 

◎ 구조 확인
    - DESC USER_SEQUENCES

◎ 시퀀스 값 사용
    -  "시퀀스".NEXTVAL => 현재 시퀀스의 다음 증가값 반환
    -  "시퀀스".CURRVAL => 현재 시퀀스 값 반환

◎ 시퀀스 삭제
    -  DROP SEQUENCE "시퀀스"

◎ 시퀀스 수정
    -  ALTER SEQUENCE "시퀀스" "변경할 속성" "숫자"
       ※ 시작숫자(START WITH)는 변경할 수 없음, 시퀀스를 새로 생성해야만 함