Как сделать, чтобы нумерация колонки начиналась после самого большого значения в таблице

Столкнулся с такой проблемой, что при вставке значения link уже существовал, потому что значение link было заполнено вручную. Колонка настроена таким образом

ALTER TABLE some_table ALTER COLUMN link ADD GENERATED BY DEFAULT AS IDENTITY (
START WITH 1
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1
);

Как мне сделать так, чтобы заполнялся либо отсутствующий промежуток, либо после максимального значения. Например есть отсутствующие значения линк между 234 и 254 и при вставке строка в link попадало значение 235. Или так, в колонке link максимальное значение на данный момент 375 значит следующая вставленная строка получит значение 376. Пробовал что то на подобии этого

ALTER TABLE some_table ALTER COLUMN link ADD GENERATED BY DEFAULT AS IDENTITY (
START WITH COALESCE((SELECT MAX(link) + 1 FROM some_table),1)
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1
);

Но само собой так не работает. В документации найти не получается и на просторах интернета тоже. Очень интересно как это можно реализовать


Ответы (0 шт):