zoukankan      html  css  js  c++  java
  • 在SQL 2012中使用和Oracle 一样的序列

    使用过Oracle的都知道,Oracle中的自增是靠序列来完成的,在一定程度上蛮方便的。现在SQL 2012中也有序列了。来看看怎么做的吧!

    SQL Server 现在将序列当成一个对象来实现,创建一个序列的语法如下:

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

    创建示例:

    CREATE SEQUENCE Sequence_Test 
     AS [bigint]
     START WITH 0
     INCREMENT BY 1
     MINVALUE 0
     MAXVALUE 9223372036854775807
     CACHE 
    GO

    使用序列:

    SELECT NEXT VALUE FOR Sequence_Test
    或者下面查询序列属性
    SELECT * FROM sys.sequences WHERE name = 'Sequence_Test';

     重置序列:

    ALTER SEQUENCE Sequence_Test 
    RESTART
    WITH 1 ;

    序列可定义为任意整数类型,如下面类型:

    • tinyint - 范围从 0 到 255

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

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

    • bigint - 范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807

    • decimal numeric,小数位数为 0。

  • 相关阅读:
    Entity SQL 初入
    ObjectQuery查询及方法
    Entity Framework 的事务 DbTransaction
    Construct Binary Tree from Preorder and Inorder Traversal
    Reverse Linked List
    Best Time to Buy and Sell Stock
    Remove Duplicates from Sorted Array II
    Reverse Integer
    Implement Stack using Queues
    C++中const限定符的应用
  • 原文地址:https://www.cnblogs.com/sunyjie/p/3412294.html
Copyright © 2011-2022 走看看