DB/PostgreSQL

[PostgreSQL] sequence(시퀀스) 사용법 (생성, 삭제, 초기화, 현재값, 다음값, insert, create)

데메즈 2023. 2. 4. 11:36
728x90
반응형
Sequence 란?

sequence 는 유일한 값을 생성하게 도와주는 객체이다

보통 id 같이 순차적으로 증가하는 컬럼에 많이 사용한다

Sequence 생성과 삭제

시퀀스명이 seq_idx 인 경우

CREATE SEQUENCE seq_idx; -- 생성

DROP SEQUENCE seq_idx; -- 삭제

 

 

 

Sequence  초기화
SELECT setval('seq_idx', 1, true); -- nextval('seq_idx') = 2

SELECT setval('seq_idx', 1, false); -- nextval('seq_idx') = 1

(nextval 설명은 밑에)

true : 초기화 후 nextval을 사용할 때 초기화된 값에서 +1하여 사용한다

false : 초기화 후 nextval을 사용할 때 초기화된 값을 그대로 사용한다

 

Sequence 의 현재 값과 다음 값
SELECT currval('seq_idx'); -- 현재값

SELECT nextval('seq_idx'); -- 다음값

 

Sequence 활용

 

1. create 시

create table tb_liv
(
id integer DFAULT nextval('tb_liv_idx'),
...

)

 

 

2. insert 시

insert into tb_liv(id, ...)
values (nextval('tb_liv_idx'), ...);

 

728x90
반응형