• 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视图可以查看序列信息;也可以使用可视化的方式如下:

  • 相关阅读:
    C++---继承和派生
    【解迷糊】关于PHP的extract()函数提取出的变量的作用域问题
    PHP常用内置函数记忆(持更)
    PHP数据类型转换
    在window把自己的项目上传到github
    github Desktop上传项目
    【终于明白】PHP加入命名空间的好处--方便自动加载
    PHP中session的使用方法和生命周期问题
    php
    PHP中include和require的区别详解
  • 原文地址:https://www.cnblogs.com/goodlucklzq/p/4692502.html
Copyright © 2020-2023  润新知