SEQUENCE в PostgreSQL используется для генерации уникальных последовательных чисел. Чаще всего применяется для автоинкрементных значений в таблицах.
Создание последовательности
Создание новой последовательности с начальным значением 1 и шагом 1:
CREATE SEQUENCE example_seq START 1 INCREMENT 1;Получение следующего значения
Для получения следующего значения в последовательности используется NEXTVAL:
SELECT NEXTVAL('example_seq');Использование SEQUENCE в таблицах
Часто SEQUENCE применяется для автоинкрементных полей. Пример создания таблицы с использованием последовательности:
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name TEXT
);Альтернативный способ с явным указанием SEQUENCE:
CREATE TABLE users (
id INTEGER DEFAULT NEXTVAL('example_seq') PRIMARY KEY,
name TEXT
);Установка текущего значения
Установка определенного значения в последовательности выполняется через SETVAL:
SELECT SETVAL('example_seq', 100);Получение текущего значения
Текущее значение последовательности можно получить с помощью CURRVAL:
SELECT CURRVAL('example_seq');Удаление последовательности
Удаление созданной последовательности выполняется командой:
DROP SEQUENCE example_seq;