, даже если вставка / фиксация
не удалось, последовательность не
откатывается. Это означает, что в следующий раз, когда я буду делать вставку в таблицу, это может быть пробел в порядковом номере.
Да, это правда, и это нормально.
Обычно требуется, чтобы последовательность получала значения в таблице, которые являются уникальными (обычно для PK)
и промежутки не имеют значения вообще.
Если вам любопытно: это естественное поведение, если вы думаете о параллельности. Предположим, транзакция T1 вставляет строку, получая PK1 из последовательности, использует это значение для создания других записей в других таблицах ... тем временем (до того, как T1 фиксирует) другая транзакция T2 вставляет строку в ту же таблицу. Затем откаты T1 и T2 фиксирует ...
Кстати: если вам нужна последовательность «без пропусков» ... сначала спросите себя, действительно ли вы этого хотите (обычно вы действительно этого не хотите - и требование этого часто указывает на концептуальную проблему в вашем дизайне) ... но если вам это действительно нужно, вы можете прочитать это .