zoukankan      html  css  js  c++  java
  • sql server 2012 新知识-序列

    今天聊一聊sql 2012 上的新功能-----序列

    按我的理解,它就是为了实现全局性的唯一标识,按sql server 以前的版本,想对一张表标识很简单,比如identity,但如果要对某几张有业务关联关系的表,做一个统一的标识这时有没有好的办法来实现?

    例如:

    通过序列保证两张表ID的唯一性。

    首先创建一个测试库

    CREATE DATABASE MB_DB02
    GO

    USE MB_DB02
    GO

    --创建序列
    CREATE SEQUENCE [dbo].[Sequence_01] AS [bigint]
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    NO CYCLE
    NO CACHE

    --start with 设置起始值
    --increment by 设置增长间隔
    --min和max分别设置最小和最大值
    --cycle设置是否循环
    --cache指定缓存的设置

    --检查序列的创建情况
    SELECT start_value,increment,current_value FROM sys.sequences

    --创建测试表
    CREATE TABLE DemoA
    (
    ID BIGINT NOT NULL primary key,
    Class_type NVARCHAR ( 20 ),
    price INT
    )

    CREATE TABLE DemoB
    (
    ID BIGINT NOT NULL primary key,
    Class_type NVARCHAR ( 20 ),
    price INT
    )

    --分别对表DemoA与DemoB插入记录
    INSERT INTO DemoA VALUES ( NEXT VALUE FOR Sequence_01, '英语' ,1000)
    INSERT INTO DemoB VALUES ( NEXT VALUE FOR Sequence_01, '汉语' ,800)
    INSERT INTO DemoA VALUES ( NEXT VALUE FOR Sequence_01 ,'法语' ,1500 )
    INSERT INTO DemoB VALUES ( NEXT VALUE FOR Sequence_01 ,'德语' ,2000)

     

    ---更改序列值

    ALTER SEQUENCE Sequence_01
    RESTART WITH 50
    INCREMENT BY 30

    --检查序列的创建情况
    SELECT start_value,increment,current_value FROM sys.sequences

     

  • 相关阅读:
    Asp.Net MVC<一> : 三层架构、MVC
    To IOC,代码结构演变的随想
    .net网站的文件上传读取进度条和断点下载
    NPOI导入,导出
    瀑布流,纵向
    主键、外键、索引
    java基础语法要点<二>(基于1.8)
    android 概述 及四大组件
    Android Studio
    C#查看各种变量的指针地址
  • 原文地址:https://www.cnblogs.com/fooa1098/p/7151997.html
Copyright © 2011-2022 走看看