zoukankan      html  css  js  c++  java
  • CREATE SEQUENCE添加自增序列及NEXT VALUE FOR返回序列号

    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;
    CREATE SEQUENCE [dbo].[sq_CodeNumber] 
     AS [BIGINT]
     START WITH 1000000001
     INCREMENT BY 1
     MINVALUE 1000000001
     MAXVALUE 9999999999
     CYCLE 
     CACHE 
    GO
  • 相关阅读:
    20170228 Z_po_send_email
    MRP 流程
    MRP 中的数据元素
    笔记:使用 Protel 99 SE 改一块车充 PCB
    PCB 锣板和半孔工艺的差别
    笔记:LIR2032 电池充电记录
    笔记:开源协议 Apache 2 和 GPL 兼容
    FastAdmin 在 CRUD 时出现 exec() has been disabled for security reasons 怎么办?
    FastAdmin 学习线路 (2018-09-09 增加 Layer 组件)
    记录一下变压器的焊盘问题
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/6622688.html
Copyright © 2011-2022 走看看