CREATE SEQUENCE添加自增序列及NEXT VALUE FOR返回序列号

来源:互联网 发布:如何激活windows 编辑:程序博客网 时间:2024/06/16 13:25



From :https://msdn.microsoft.com/zh-cn/library/ff878091.aspx

语法:

复制代码
CREATE SEQUENCE [schema_name . ] sequence_name      [ AS [ built_in_integer_type | user-defined_integer_type ] ]      [ START WITH <constant> ]      [ INCREMENT BY <constant> ]      [ { MINVALUE [ <constant> ] } | { NO MINVALUE } ]      [ { MAXVALUE [ <constant> ] } | { NO MAXVALUE } ]      [ CYCLE | { NO CYCLE } ]      [ { CACHE [ <constant> ] } | { NO CACHE } ]      [ ; ]  
复制代码

[ built_in_integer_type | user-defined_integer_type
序列可定义为任何整数类型。
A sequence can be defined as any integer type.
允许使用下面的类型。
tinyint -0 到 255 范围
smallint -范围-32,768 到 32,767
int -范围-2,147,483,648 到 2,147,483,647
bigint -范围-9223372036854775808 到 9223372036854775807
十进制和数值小数位数为 0。
基于这些允许类型之一的任何用户定义数据类型(别名类型)。

eg

复制代码
CREATE SEQUENCE [dbo].[sq_demo]  AS [BIGINT] START WITH 1000001 INCREMENT BY 1 MINVALUE -9223372036854775808 MAXVALUE 9223372036854775807 CACHE GO
复制代码

From:https://technet.microsoft.com/zh-cn/library/ff878370.aspx
语法
NEXT VALUE FOR [ database_name . ] [ schema_name . ]  sequence_name     [ OVER (<over_order_by_clause>) ]  
eg:
SELECT NEXT VALUE FOR sq_demo

 

SELECT dbo.GetNextVal('demo')

 

 

1.创建序列

下面的示例创建名为 DecSeq 使用一个序列 十进制 具有介于 0 到 255 之间的数据类型。序列以 125 开始,每次生成数字时递增 25。 因为该序列配置为可循环,所以,当值超过最大值 200 时,序列将从最小值 100 重新开始。

复制代码
CREATE SEQUENCE Test.DecSeq      AS decimal(3,0)       START WITH 125      INCREMENT BY 25      MINVALUE 100      MAXVALUE 200      CYCLE      CACHE 3 ; 
复制代码
复制代码
--2.查询序列SELECT * FROM sys.sequences WHERE name = 'DecSeq' ;--3.获取序列值(注意:每查询一次,value的值就会增加1,这个1是根据创建序列时,increment设置的值有关,新建的序列第一次查询时得到的值为start值)SELECT NEXT VALUE FOR Test.DecSeq;  --4.删除序列DROP sequence Test.DecSeq;



http://www.cnblogs.com/shy1766IT/p/6622688.html






原创粉丝点击