Sql Server增加Sequence序列语句

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 
;

Test.DecSeq:指定数据库中标识序列的唯一名称。 类型是 sysname。

decimal:序列可定义为任何整数类型。 允许使用下面的类型。  
  tinyint -0 到 255 范围

  smallint -范围-32,768 到 32,767

  int -范围-2,147,483,648 到 2,147,483,647

  bigint -范围-9223372036854775808 到 9223372036854775807

  十进制 和 数值 小数位数为 0。

  如果未不提供任何数据类型, bigint 数据类型用作默认值。
START WITH:启动值 <常量> ,序列对象返回的第一个值。启动 值必须是值小于或等于最大值并大于或等于序列对象的最小值。 新序列对象的默认起始值是升序序列对象的最小值和降序序列对象的最大值。

INCREMENT:增量值<常量>,该值用于递增(或递减),每次调用序列对象的值 NEXT VALUE FOR 函数。 如果增量是负值,则序列对象为降序,否则为升序。 增量不能为 0。 新序列对象的默认增量为 1。

MINVALUE:指定序列对象的边界。 一个新序列对象的默认最小值是该序列对象的数据类型的最小值。 对于 tinyint 数据类型,此值为零,对于所有其他数据类型则为负数。

MAXVALUE:指定序列对象的边界。 一个新序列对象的默认最大值是该序列对象的数据类型的最大值。

CYCLE:[周期 | NO CYCLE]此属性指定当超过序列对象的最小值或最大值时,序列对象是应从最小值(对于降序序列对象,则为最大值)重新开始,还是应引发异常。 新序列对象的默认循环选项是 NO 。请注意,循环不从起始值重新开始,而是从最小值或最大值重新开始。

CACHE:缓存<常量> 通过最大限度地减少生成序列编号所需的磁盘 IO 数,可以提高使用序列对象的应用程序的性能。 默认值为 CACHE。

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;

 

posted @ 2017-02-27 12:08  太潮了就要晒  阅读(18218)  评论(1编辑  收藏  举报