SQL

SQL의 SEQUENCE(시퀀스)에 대해서 알아보자! (feat. 기타 스키마 객체)

개발 일기 2021. 7. 20. 22:20

안녕하세요!

 

오늘은 SQL의 기타 스키마 객체 중 VIEW에 이어서 SEQUENCE(시퀀스)에 대해 알아보겠습니다!

 

 

SEQUENCE란??

 - 여러 사용자들이 공유하는 데이터베이스 객체로서, 호출 될 때마다 중복되지 않은 고유한 숫자를 리턴하는 객체

 - 중복되지 않는 기본키 컬럼에 사용할 값을 발생시키는데 주로 사용한다.

 

 

SEQUENCE(시퀀스) 활용 예시

 

1. 테이블 생성

PK컬럼 BOARD_NO를 NUMBER 데이터 타입으로 생성

 

 

2. 시퀀스 생성

-- 'freeboard_no_seq' 시퀀스 생성

-- 시퀀스 값 1씩 증가

-- 시작 값 1 지정

-- 사이클 돌지 않으며, 캐시 남기지 않도록 설정

 

 

3. 시퀀스 활용 --> 테이블 내 인서트 1회

-- PK(board_no)의 values 값을 freeboard_no_seq.nextval로 설정

-- 설정 후 1회 insert 시 출력 board_no = 1

 

 

3-1. 시퀀스 활용 --> 테이블 내 인서트 2회

 -- 2회 insert 시 출력 board_no = 2

 -- 계속 insert 시 insert 수에 맞추어 board_no 값은 계속 1씩 증가함

 


 

 

즉, 시퀀스를 활용하면 게시판 게시물 번호나 주문 번호 등을 표현 할 때 용이하다.

게시판에 글이 작성되는 순서대로 순번이 매겨진다고 가정할 때 위 코딩 예시처럼 작성(insert) 순서대로 출력됨!

 

오늘은 SQL의 시퀀스에 대한 간략한 정리를 해보았습니다!

감사합니다.