• sqlserver中的序列


    序列是由用户定义的绑定到架构的对象。序列依据定义的间隔按升序或降序生成,并可配置为用尽时重新启动(循环)。序列不与特定表关联。序列与表之间的关系由应用程序进行控制。

    创建序列的语法:

    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 } ]
    [ ; ]
    

    序列可定义为任何整数类型,若未提供任何类型,则将bingint数据类型作为默认类型。

    START WITH <常量>

    序列的起始值

    INCREMENT BY <常量>

    如果为负数则递减,否则递增。不能为0

    [ MINVALUE <常量> | NO MINVALUE ]

    指定序列对象的边界。 新序列对象的默认最小值是序列对象的数据类型的最小值。

    [ MAXVALUE <常量> | NO MAXVALUE

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

    [ CYCLE | NO CYCLE ]

    此属性指定当超过序列对象的最小值或最大值时,序列对象是应从最小值(对于降序序列对象,则为最大值)重新开始,还是应引发异常。 新序列对象的默认循环选项是 NO CYCLE。

    [ CACHE [<常量> ] | NO CACHE ]

    通过最大限度地减少生成序列编号所需的磁盘 IO 数,可以提高使用序列对象的应用程序的性能。设置缓存后,在第一获取序列后,在服务器的缓存中缓存当前序号和设置的缓存值(缓存个数*增量)。这样以后再次请求时,除非要获取的序号大于缓存值,才将缓存值更新到磁盘中的系统表。

    可以使用NEXT VALUE FOR查询序列获得生成的序列号

    sys.sequences视图可以查看序列信息;也可以使用可视化的方式如下:

  • 相关阅读:
    toj 2819 Travel
    toj 2807 Number Sort
    zoj 2818 Prairie dogs IV
    zoj 1276 Optimal Array Multiplication Sequence
    toj 2802 Tom's Game
    toj 2798 Farey Sequence
    toj 2815 Searching Problem
    toj 2806 Replace Words
    toj 2794 Bus
    css截取字符
  • 原文地址:https://www.cnblogs.com/goodlucklzq/p/4692502.html
Copyright © 2020-2023  润新知