Data/PostgreSQL
PostgreSQL 시퀀스 만들기
바리새인
2024. 12. 1. 16:48
문법
CREATE SEQUENCE sequence_name
[ INCREMENT BY increment ]
[ MINVALUE minvalue | NO MINVALUE ]
[ MAXVALUE maxvalue | NO MAXVALUE ]
[ START WITH start ]
[ CACHE cache_size ]
[ [ NO ] CYCLE ];
샘플
CREATE SEQUENCE my_sequence
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
CREATE SEQUENCE limited_sequence
START WITH 1000
INCREMENT BY 5
MINVALUE 1000
MAXVALUE 2000
NO CYCLE;
사용
// 다음값 가져오기
SELECT nextval('sequence_name');
// 현재값 가져오기
SELECT currval('sequence_name');
// 값을 지정하기
// is_called=true이면, new_value에서 증가한 값이 nextval에 설정됨
SELECT setval('sequence_name', new_value, is_called);
// 디폴트값으로 사용
CREATE TABLE another_table (
id INT PRIMARY KEY DEFAULT nextval('my_sequence'),
description TEXT
);