В моем конкретном случае я пишу модульный тест и хочу смоделировать ошибку для генератора последовательности, но я не могу найти никакой документации о том, что он делает, когда он заканчивается.
Вот, конечно, документация для ПОСЛЕДОВАТЕЛЬНОСТИ:
https://docs.microsoft.com/en-us/sql/t-sql/statements/create-sequence-transact-sql?view=sql-server-2017
Это, очень приятно, говорит обо всем, кроме: что произойдет, если я закончу.
Рассмотрим случай, когда я установил последовательность в очень маленькое значение (1-10), и я «знаю», что она никогда не превысит 10. За исключением того, что в коде есть ошибка, и она неожиданно получает каждую последнюю. .. тогда просит еще один?
Гипотетический пример:
CREATE SEQUENCE [dbo].[MY_SEQUENCE]
AS [tinyint]
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 10
NO CYCLE
CACHE
Внешний код запрашивает 11-й.
SELECT NEXT VALUE FOR MY_SEQUENCE
Что происходит?