Database/mariaDB administrator

mariadb sequence 생성 및 사용 예제

sTricky 2020. 12. 1. 14:50

mariadb sequence 생성 및 사용 예제

mariadb sequence 생성 및 사용 예제


mariadb 에서 sequence를 10.3 버전부터 사용 할 수 있습니다.
이번 포스팅에서는 mariadb내 sequence를 생성 하고, 사용하는 예제를 확인 해보도록 하겠습니다.
아주 간단하게 sequence를  사용 할 수 있도록 예문을 토대로 설명 드리도록 하겠습니다.

 

mariadb sequence 생성


mariadb 에서 sequence를 생성하는 예제코드 입니다.

create sequence test.sq_test
start with 1
increment by 1
maxvalue 999999
cycle;

위와 같이 sequence를 생성 해봤습니다.
sequence의 이름은 sq_test 라고 했습니다.
주로, sequence를 생성할때는 object의 prefix를 sq_로 많이 설정해서 쓰게 됩니다.
그리고 시작값은 1이고, 1씩 증가를 하게 됩니다.
최대값은 999999 입니다.

이젠, 이렇게 sequence를 생성 하였으니 사용 하는 방법도 있겠죠.

mariadb sequence nextval 출력

먼저, sequence의 다음값을 출력하는 방법입니다.

select nextval(test.sq_test);

위 명령어로 다음 sequence 값을 출력 할 수 있습니다.
아래 그림과 같이 말이죠.
두번을 연달아서 해봤습니다.

mariadb sequence nextval 출력1
mariadb sequence nextval 출력2

1,2 가 출력이 잘 되었습니다.
sequence의 nextval을 호출하면 다음값을 바로 불러오고, 또 호출하면 그 다음 값을 불러오게 됩니다. 1씩 증가를 하는거죠.

 

 

 

mariadb sequence lastval 출력

다음은 지금 sequence가 몇번인지를 확인 하는 방법 입니다.
현재 sequence 번호의 확인이 필요 할 때도 있겠죠.

select lastval(test.sq_test);

위 명령어로 지금값을 확인 할 수 있죠.
아래 그림처럼 2가 나오겠죠.

mariadb sequence lastval 출력

mariadb sequence restart

마지막은 sequence를 특정 번호에서 시작 할 수 있게 하는 방법입니다.
위에서 1부터 시작을 하게 했고, 지금 2까지 출력이 되었는데, 예를들어서 70000번 부터 시작 하고 싶으시다면 아래와 같은 sql을 실행 하면 됩니다.

alter sequence test.sq_test restart 700000;

위와 같이 sql문을 실행 하고, 다시 nextval을 호출 해 볼께요.
그럼 아래와 같이 70000번부터 sequence가 시작 하는것을 확인 할 수 있습니다.

mariadb sequence restart

자, 오늘은 이렇게 mariadb의 sequence에 대해서 확인 해 봤습니다.

감사합니다!!


by.sTricky