PostgreSQL 시퀀스 만들기

2024. 12. 1. 16:48Data/PostgreSQL

문법

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
);

 

'Data > PostgreSQL' 카테고리의 다른 글

PostgreSQL 오라클의 dual 처럼 하기  (1) 2024.12.26
PostgreSQL merge 구문  (0) 2024.12.21
PostgreSQL 암호화 확장 모듈 추가  (0) 2024.08.13
PostgreSQL 명령  (0) 2024.05.04
pgAdmin 설정  (0) 2024.05.04