我有SQL Server 2012
并且我想知道序列的用途是什么。我寻找一个示例来解释序列的用法。
编辑
我知道在数据库中创建和使用序列。我想知道使用序列的实际场景是什么。
我有SQL Server 2012
并且我想知道序列的用途是什么。我寻找一个示例来解释序列的用法。
编辑
我知道在数据库中创建和使用序列。我想知道使用序列的实际场景是什么。
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
有关原始来源和更多示例,请参见此处。该页面指的是 SQL Server Denali,它是 SQL 2012 的测试版,但语法仍然相同。
我利用 SEQUENCE 命令的方法之一是在 ASP/C# 详细信息视图页面中获取参考编号(例如)。我使用 detailsview 将请求输入到数据库中,并且 SEQUENCE 命令用作每个请求的请求/票证号。我将初始序列命令设置为以特定数字开头,并为每个请求增加 1。
如果我在 gridview 中显示这些请求,我会显示 SEQUENCE 参考编号,但不要让它们可编辑。当记录与数据库中的其他字段相似时,它非常适合作为参考编号。当客户对给定数据库中的特定条目有疑问时,它也非常适合他们。这样,无论其余信息是否相同,每个条目都有一个唯一编号。
以下是我通常如何利用 SEQUENCE 命令:
CREATE SEQUENCE blah.deblah
START WITH 1
INCREMENT BY 1
NO CYCLE
NO CACHE
简而言之,我从 #1 开始我的序列(你可以选择任何你想开始的数字),它以 1 为增量向上计数。当序列号达到系统最大数量时,我不会循环它们。