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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM