CHECKSUM_AGG 应用场景

 

CHECKSUM_AGG 可用于检测表中的更改。表中行的顺序不影响 CHECKSUM_AGG 的结果。 此外,CHECKSUM_AGG 函数还可与 DISTINCT 关键字和 GROUP BY 子句一起使用。

 

对于下列两个场景来说非常有用:

1. 静态数据 数据需要从一个环境到另一个环境相同。

2. 数据迁移 验证所有迁移的列是正确的。

 

按照经验来讲,有些时候更新日期和插入日期,以及timestamp数据类型并不重要,所以,在比较的时候可以忽略这些列。

 

1
2
3
4
5
6
7
8
9
10
--用于检测表中是否有数据更改
USE AdventureWorks2012
GO
SELECT  CHECKSUM_AGG(BINARY_CHECKSUM(*))
FROM  Sales.SalesOrderDetail
UPDATE  Sales.SalesOrderDetail
SET  UnitPrice = UnitPrice + .01
WHERE  SalesOrderID = 43659
SELECT  CHECKSUM_AGG(BINARY_CHECKSUM(*))
FROM  Sales.SalesOrderDetail




















本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1607415 ,如需转载请自行联系原作者