본문 바로가기

코딩탐방기

[Oracle] 시퀀스 생성하고 사용하기 기본

728x90
반응형
시퀀스란?

사용(데이터 삽입)할 때 마다 일정한 값으로 자동 증가하는 객체

시퀀스 생성하는 방법


CREATE SEQUENCE [시퀀스이름];

시퀀스 사용하는 방법


위에서 만든 시퀀스를 사용해서 자동 증가하는 값을 보여주는 예제

현재 student 테이블엔 name, age, gender 세 개의 컬럼이 존재한다

여기서 숫자값인 age를 시퀀스로 자동증가시켜보자

자동으로 1이 들어간 것을 확인할 수 있다.

시퀀스 기본 시작값은 1이다.

그러면 데이터 값을 하나 더 넣어보자

이번에는 위 age보다 1증가한 2가 들어간 것을 볼 수 있다.

그런데 김구 선생 나이가 1은 좀 그렇다;;

시퀀스의 시작 값 설정하기


시퀀스의 시작 값을 설정해보자

*여기서 중요한 점은 시퀀스의 시작값을 조정할 땐 수정하는 것 보단

새로 만드는 것이 편리하고 더 낫다.

시퀀스 삭제하는 방법


테이블을 삭제하는 명령어와 같다

데이터들도 삭제해줬다

아 그리고 위에선 간단한 예시라 시퀀스명을 seq_1이라 했지만

시퀀스 이름은 규칙이 있다.

[테이블명]_seq 로 만든다.

우린 테이블명이 student이므로 student_seq로 만들면 된다

시작 값을 설정한 시퀀스

CREATE SEQUENCE [시퀀스명] START WITH [시작값];

여기선 홍길동 17세이니 시작 값을 18로 해줬다.

만들었던 시퀀스이름이 기억나지 않는다면 시퀀스 조회하기를 하면 된다.

SELECT sequence_name FROM seq;

그러면 우리가 만든 STUDENT_SEQ 시퀀스가 나온다.

그럼 이제 데이터를 넣어보자

시작 값으로 설정한 18이 age로 잘들어갔다.

그러면 데이터를 더 넣어보자.

역시나 시작 값에서 1증가한 19가 age로 잘들어갔다.

시퀀스 증가값 설정하기


그러면 마지막으로 증가 값을 조절해서 시퀀스를 만들어 보자.

CREATE SEQUENCE [시퀀스명] INCREMENT BY [증가값];

증가 값이 3인 시퀀스 student_seq2를 만들었다.

그러면 다시 데이터를 넣어보자

증가 값이 3씩 올라가 저장된 것을 확인할 수 있다.

728x90
반응형