IBM DB2 СЛЕДУЮЩЕЕ ЗНАЧЕНИЕ ДЛЯ концерна - PullRequest
0 голосов
/ 06 мая 2019

Мне интересно, когда при использовании СЛЕДУЮЩЕГО ЗНАЧЕНИЯ ДЛЯ блокируется ли область данных в фоновом режиме? Я хочу убедиться, что он не создает повторяющиеся порядковые номера.

1 Ответ

0 голосов
/ 06 мая 2019

Для Db2 для i-Series справочная документация для sequence находится здесь.

Справочная документация (для Db2-LUW) содержит то, что вам нужно.

Когда для последовательности генерируется значение, оно используется, и при следующем запросе значения будет сгенерировано новое значение. Это верно даже в том случае, если инструкция, содержащая выражение NEXT VALUE, не выполняется или выполняется откат.

Однако, если имеется несколько экземпляров выражения СЛЕДУЮЩЕЕ ЗНАЧЕНИЕ, указывающих одно и то же имя последовательности в запросе, счетчик последовательности увеличивается только один раз для каждой строки результата, и все экземпляры СЛЕДУЮЩЕГО ЗНАЧЕНИЯ возвращают одно и то же значение для ряда результата.

Обратите внимание, что Db2 не гарантирует, что будут возвращены последовательные номера. Поэтому, если ваша транзакция откатывается, любое ранее использованное значение из последовательности не будет возвращено в будущем - до тех пор, пока последовательность не будет сброшена, по крайней мере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...