当前位置: 首页 > news >正文

知名网站建设在哪里企业qq邮箱

知名网站建设在哪里,企业qq邮箱,物流货运网站,专业移动微网站设计原文 Temporal Table是SQL Server2016的新特性。能存储你表里面任意时间点的数据信息。 换句话说#xff0c;如果你针对一张表执行任何更新或者删除操作#xff0c;老数据会被新数据覆盖#xff0c;下次查询的时候是查的最新的数据#xff0c;但如果使用了temporal table你…原文 Temporal Table是SQL Server2016的新特性。能存储你表里面任意时间点的数据信息。 换句话说如果你针对一张表执行任何更新或者删除操作老数据会被新数据覆盖下次查询的时候是查的最新的数据但如果使用了temporal table你可以查询到任意时间点的数据。 Temporal table是如何工作的呢 当你往Temporal table插入记录的时候会发生什么 当你往temporal table插入数据的时候数据会留在temporal table中但是不会影响history table。 当你更新或者删除Temporal table的数据时会发生什么 当你更新或者删除Temporal table的数据时已存在的记录会先被移动到history table中记录temporal table数据的改变。 当你查询Temporal table的时候会发生什么 当你查询temporal table的时候 temporal table会自己决定是从temporal table中还是从history table中返回数据你不应该使用任何join关联temporal table和history table进行查询。 创建Temporal Table 创建temporal table时其对应的history table会自动创建(如果你已经有了一个history table你可以将他和temporal table关联起来)。下面是一个普通的创建表的脚本但是有些额外特殊的列。这些列用来定义temporal table的period definition并且这些列是隐藏的。当你查询的时候这些列不会出现在结果集中。脚本中还将history table名指定为“dbo.tbl_Product_History”。当然你也可以不声明history table的名字SQL会自动为temporal table创建一个默认的history table。 CREATE DATABASE SampleDB GO USE SampleDB GO --DROP TABLE tbl_Product --GO CREATE TABLE tbl_Product (Product_ID int NOT NULL PRIMARY KEY CLUSTERED,Product_Name varchar(50) NOT NULL,Rate numeric(18,2),/*Temporal Specific Fields - Period Definition */[Valid From] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL,[Valid Till] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL,PERIOD FOR SYSTEM_TIME ([Valid From] ,[Valid Till]) ) WITH /* Temporal Specific - System-Versioning Configuration*/ (SYSTEM_VERSIONING ON(HISTORY_TABLE dbo.tbl_Product_History, DATA_CONSISTENCY_CHECK ON) ); GO 执行insert 之前说过当你对一个temporal table执行insert语句不会影响history table。下面我们执行insert然后看看相应的结果。 USE SampleDB GO INSERT INTO dbo.tbl_Product VALUES(1,Product A, 300) ,(2,Product B, 400) GOSELECT * FROM tbl_Product GO SELECT * FROM dbo.tbl_Product_History GO 执行update 当你对一个temporal table执行update语句老数据会被移到history table中temporal table会保存最新的数据。下面我们执行update然后看看相应的结果。 USE SampleDB GO UPDATE tbl_Product SET Rate Rate/2 WHERE Product_ID IN (1,2) GOSELECT * FROM tbl_Product GO SELECT * FROM dbo.tbl_Product_History GO 执行delete 当你对一个temporal table执行delete语句老数据会被移到history table中temporal table会保存最新的数据。下面我们执行delete然后看看相应的结果。 USE SampleDB GO DELETE FROM tbl_Product WHERE Product_ID 2 GOSELECT * FROM tbl_Product GO SELECT * FROM dbo.tbl_Product_History GO 执行select 在temporal table中执行select非常有意思。 下面的脚本和正常的table一样返回table最新的结果集 USE SampleDB GO --Current State of the table SELECT * FROM tbl_Product GO 下面使用FOR SYSTEM_TIME ‘2015-06-27 21:33:50.9002439’来查询temporal table这将返回这个表在‘2015-06-27 21:33:50.9002439’ 时的状态。 USE SampleDB GO SELECT * FROM tbl_Product FOR SYSTEM_TIME AS OF 2015-06-27 21:33:50.9002439 GO 下面使用FOR SYSTEM_TIME at ‘2015-06-27 21:43:31.2982847’来查询temporal table这将返回这个表在‘2015-06-27 21:43:31.2982847’时的状态。 USE SampleDB GO SELECT * FROM tbl_Product FOR SYSTEM_TIME AS OF 2015-06-27 21:43:31.2982847 GO 总结 有了temporal table将改变我们为数据仓库设计数据库的方式。因为我们不需要创建一个独立的audit表通过触发器或者存储过程记录数据的变化temporal table自动为我们完成了这些工作。 转载于:https://www.cnblogs.com/irocker/p/sql-server-2016-temporal-tables.html
http://wiki.neutronadmin.com/news/67351/

相关文章:

  • 网站模板制作教程河北邯郸建网站
  • 网站免费做app网页设计网站建设招聘
  • 在中国可以做国外的域名网站吗软文优化
  • 网络推广渠道都有哪些镇江网站推广优化
  • 360阻止建设银行网站宝安网站设计招聘信息
  • 网站正在建设中热网站建设的源代码
  • 织梦配置手机网站温州网站改版公司哪家好
  • 深圳营销型网站策划建设银行U盾不自己弹网站了
  • 自己做网站出证书网站优化基本技巧
  • 广告 网站举例核工业华南建设集团网站
  • 莱山做网站的公司网站建设哪儿济南兴田德润什么活动
  • 阿克苏网站开发工业软件开发
  • iis7配置网站404页面全屏的翻页网站这么做
  • 做网站怎么添加背景图片网站查询域名解析
  • 云南机场建设集团网站租车网站建设
  • 迎访问中国建设银行网站-深圳网站建设哪家好
  • 苏州市建设工程质量监督站网站创建5a 网站建设要求
  • 宝安附近公司做网站建设哪家效益快ppt素材免费网站
  • 内蒙古建设网站模板网建站
  • 怎么在视频网站做淘宝客口碑营销的经典案例
  • 帮别人做彩票网站吗一对一软件
  • 利用wix建手机网站h5网站建设代理
  • 网站设计的一般流程是什么如何做好企业网站建设工作
  • 网站更改备案信息在哪里小程序开发难吗
  • 迅雷网站做爰视频自己有货源怎么找客户
  • 深圳免费模板建站中国建设教育协会的网站查询
  • 做网站后台数据库建设公司网站经常打不开
  • 做海报文案的参考网站asp网站开发教程
  • 培训学校网站系统温州阀门网站建设
  • 网站建设的培训的感受网站seo招聘