[ORACLE] 오라클 시퀀스(Sequence) 정리(생성, 사용, 삭제)

2021. 5. 16. 10:17·노빠꾸 데이터베이스/ORACLE
반응형

시퀀스(Sequence)

시퀀스란 연속적인 숫자를 생성해내는 객체이다.

 

DB에서 테이블의 기본키가 숫자형 데이터일 경우,  이 테이블에 기본키인 컬럼에 시퀀스를 설정해 놓을 경우

 

테이블에 데이터를 삽입(Insert) 할때마다, 자동으로 각 로우를 식별할 수 있는 시퀀스값이 할당되어 저장된다.

 

이때, 시퀀스값은 보통 자동으로 +1씩 늘어나게 설정해 놓고 사용한다.

 

그러면, 데이터가 삽입될때마다 1부터 차례대로 번호가 부여되게 된다.

 

Ex) CUSTOMER 테이블 시퀀스 예시

CUST_SEQ CUST_NAME CUST_PHONE CUST_ADDR
1 홍길동 010-0000-0000 서울
2 이순신 010-1111-1111 부산
3 장보고 010-2222-2222 경주

해당 예시에서 CUST_SEQ컬럼이 시퀀스가 설정된 컬럼이다.

 

데이터가 삽입될때마다 1부터 시작하여 차례대로 1씩증가하여 입력되게 된다.

 

다음 입력될 데이터의 시퀀스 번호는 4가 되게 된다.

 

시퀀스 사용방법

위에 예시로 사용한 CUSTOMER테이블을 기준으로 시퀀스의 생성, 사용, 삭제에 대해 정리해보겠습니다.

 

※ 시퀀스 생성

1
2
3
4
5
6
7
8
CREATE SEQUENCE CUSTOMER_SEQ -- 시퀀스명
       MINVALUE 1 -- 최소값
       MAXVALUE 99999 -- 최대값
       INCREMENT BY 1 -- 증감값(1씩증가)
       START WITH 1 -- 시작값
       NOCACHE
       NOORDER
       NOCYCLE;
cs

위와같은 명령문으로 시퀀스를 생성할 수 있다. 

 

각각 옵션값을 지정하여 상황에 맞게 시퀀스를 생성하여 사용하면 됩니다.

 

※시퀀스 사용

시퀀스를 사용할때는 NEXTVAL을 이용하여 시퀀스를 생성할 수 있다.

 

1
2
3
INSERT INTO CUSTOMER(CUST_SEQ, CUST_NAME, CUST_PHONE, CUST_ADDR) VALUES(CUSTOMER_SEQ.NEXTVAL, '홍길동', '010-0000-0000', '서울');
INSERT INTO CUSTOMER(CUST_SEQ, CUST_NAME, CUST_PHONE, CUST_ADDR) VALUES(CUSTOMER_SEQ.NEXTVAL, '이순신', '010-1111-1111', '부산');
INSERT INTO CUSTOMER(CUST_SEQ, CUST_NAME, CUST_PHONE, CUST_ADDR) VALUES(CUSTOMER_SEQ.NEXTVAL, '장보고', '010-2222-2222', '경주');
cs

 

예시를 참고해보면 CUSTOMER_SEQ.NEXTVAL을 이용하여 시퀀스값을 생성해서, CUST_SEQ컬럼에 입력해주고 있다.

 

위와같이 명령문을 실행하면 1부터 차례대로 시퀀스가 부여되어 입력되게 된다.

실행결과로 위와같이 1부터 3까지 차례대로 시퀀스값이 부여된것을 확인할 수 있다.

 

 

※ 시퀀스 삭제

시퀀스의 삭제는 간단하다 DROP문을 이용하여 삭제하게 됩니다.

 

1
DROP SEQUENCE CUSTOMER_SEQ;
cs

 

위와같이 DROP SEQUENCE "시퀀스명"; 을 이용하여 시퀀스를 삭제해주면 됩니다.

 

 

위와같이 시퀀스의 생성, 사용, 삭제방법에 대해 알아보았습니다.

 

이번 포스팅은 이만 마치겠습니다.

반응형
저작자표시 비영리 변경금지 (새창열림)

'노빠꾸 데이터베이스 > ORACLE' 카테고리의 다른 글

[Mac OS] 맥북 도커(Docker) 오라클 샘플스키마 설치  (0) 2021.05.15
[Oracle] 오라클 사용자 생성(계정 생성), 권한부여  (0) 2020.11.01
'노빠꾸 데이터베이스/ORACLE' 카테고리의 다른 글
  • [Mac OS] 맥북 도커(Docker) 오라클 샘플스키마 설치
  • [Oracle] 오라클 사용자 생성(계정 생성), 권한부여
No Backing
No Backing
노빠꾸
    300x250
  • No Backing
    누릇한 노빠꾸 블로그
    No Backing
  • 전체
    오늘
    어제
    • 분류 전체보기 (144)
      • 노빠꾸 서버 (20)
        • AWS (0)
        • 설치관련 (7)
        • 명령어 정리 (2)
        • 서버 설정 (8)
        • Nginx (2)
      • 노빠꾸 개발일지 (70)
        • JAVA (16)
        • JQUERY & JAVASCRIPT (10)
        • HTML5 (0)
        • SPRING (16)
        • Design Patterns (1)
        • DAUM API (1)
        • GIT (10)
        • Python (1)
        • SPRING SECURITY (1)
        • Vue (3)
      • 노빠꾸 데이터베이스 (9)
        • SQL (1)
        • ORACLE (3)
        • MySql (5)
      • 노빠꾸 일상 (13)
      • 노빠꾸 책 추천 (4)
      • 노빠꾸 경제 (20)
      • 노빠꾸 맥북 사용기 (7)
      • 노빠꾸 정보처리기사 정리 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    WebSecurityConfigurerAdapter Deprecated
    스프링 시큐리티 5.7 버전이후 변경사항
    사이트맵
    인텔리제이
    경제용어
    깃허브 코파일럿
    websecurityconfigureradapter란
    리노드
    맥북 단축키
    MySQL 데이터베이스 생성
    주식용어
    스프링부트 프로젝트
    스프링부트란
    스프링부트
    티스토리 사이트맵 등록
    websecurityconfigureradapter 빈 등록
    개인서버 추천
    websecurityconfigureradapter 변경사항
    리눅스 자바 설치
    스프링부트 JPA
    금융용어
    우분투 자바 설치
    맥북 사용 팁
    WebSecurityConfigurerAdapter
    Linode
    JPA 쿼리 메소드
    MySQL 사용자 계정 생성
    스프링시큐리티 websecurityconfigureradapter
    Spring boot
    websecurityconfigureradapter 사용법
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
No Backing
[ORACLE] 오라클 시퀀스(Sequence) 정리(생성, 사용, 삭제)
상단으로

티스토리툴바