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;