我的特殊情况是我正在编写一个单元测试,并且我想模拟一个序列生成器的错误,但是我找不到任何有关它用尽时的功能的文档。
这里是SEQUENCE的文档:
很好,说了一切,除了:如果我用完了会发生什么。
请考虑以下情况:将序列设置为非常小的值(1-10),并且我“知道”序列永远不会超过10。除非代码中有错误,否则突然得到最后一个错误。 ..然后再要求一个?
假设的例子:
tableInstance
外部代码要求输入第11个。
CREATE SEQUENCE [dbo].[MY_SEQUENCE]
AS [tinyint]
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 10
NO CYCLE
CACHE
会发生什么?
答案 0 :(得分:0)
您提到的文档指定了发生的情况:“ [...]超出其最小值或最大值时引发异常”
关于错误消息,您可以使用简单的Google搜索来查找:https://www.google.com/search?q=t-sql+error+messages+sequence第四个链接是https://www.sqlshack.com/sequence-objects-in-sql-server/,在那里您可以找到错误的屏幕快照,编号为11728。>
当然,使用注释中已经指定的方法之一,自己尝试会更容易。