今天聊一聊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

最新文章

  1. hdu1492(约数个数定理)
  2. ArrayList List<T> T[] Array
  3. placeholder属性实现text标签默认值提示用户
  4. Array.prototype.slice.call(arguments) 类数组转成真正的数组
  5. Linux删除文件Argument list too long问题的解决方案
  6. Jquery 获取日期date()对象
  7. nginx中配置跨域支持功能
  8. Eclipse中设置tomcat的启动内存
  9. Android:通知栏的使用
  10. asp.net mvc5中使用缓存依赖SqlCacheDependency
  11. 分析比较KafkaWordCount及DierctKafkaWordCount
  12. 第42章 发现(discovery) - Identity Server 4 中文文档(v1.0.0)
  13. flutter 读写文件
  14. Vue 介绍,优点,实例
  15. RHEL7恢复root密码
  16. JS-排序详解-快速排序
  17. poj 1275 Cashier Employment - 差分约束 - 二分答案
  18. Abp IRepository 方法解释(1)
  19. svn 备份脚本
  20. python repr方法和str方法

热门文章

  1. lazy ideas in programming(编程中的惰性思想)
  2. ios判断手机号是否可用
  3. AngularJS ng-repeat使用及注意事项
  4. SQL Server 2016 快照代理过程分析
  5. hiho-1015- KMP算法
  6. PHP实现excel
  7. Angular4.0引入laydate.js日期插件方法
  8. google软件测试之道读后感(一)
  9. 初识CSS
  10. day6、Linux下如何找出7天以前的文件删除