我有SQL Server 2012
,我想知道序列的用法是什么。我找一个样本来解释序列的用法。
修改
我知道在数据库中创建和使用Sequence。我想知道使用Sequence的实际场景。
答案 0 :(得分:5)
CREATE SEQUENCE dbo.OrderIDs
AS INT
MINVALUE 1
NO MAXVALUE
START WITH 1;
SELECT NextOrderID = NEXT VALUE FOR dbo.OrderIDs
UNION ALL SELECT NEXT VALUE FOR dbo.OrderIDs
UNION ALL SELECT NEXT VALUE FOR dbo.OrderIDs;
结果:
NextOrderID
-----------
1
2
3
有关原始来源和更多示例,请参阅here。该页面引用SQL Server Denali,它是SQL 2012的beta版,但语法仍然相同。
答案 1 :(得分:2)
我利用SEQUENCE命令的方法之一是ASP / C#detailsview页面中的参考号(作为示例)。我使用detailsview将请求输入数据库,SEQUENCE命令用作每个请求的请求/票号。我将初始序列命令设置为以特定数字开头,并为每个请求递增1。
如果我在gridview中显示这些请求,我会显示SEQUENCE参考编号,但不会使它们可编辑。当记录与数据库中的其他字段类似时,它非常适用于参考号。当客户对给定数据库中的特定条目有疑问时,它也非常适合客户。这样,无论其他信息是否相同,每个条目都有一个唯一的编号。
以下是我通常利用SEQUENCE命令的方法:
CREATE SEQUENCE blah.deblah
START WITH 1
INCREMENT BY 1
NO CYCLE
NO CACHE
简而言之,我在#1开始我的序列(你可以选择你想要开始的任何数字),它以1为增量向上计数。当序列号达到系统最大值时,我不会循环它。