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