sql Server 2012中有没有办法生成一组行和列的哈希值?
我想生成一个哈希,将其存储在父记录上.当进入更新时,我会将传入的哈希与父记录哈希进行比较,我会知道数据是否已更改.
所以这样的事情会很好:
SELECT GENERATEHASH(CONCATENATE(Name,Description,AnotherColumn)) FROM MyChildTable WHERE ParentId = 2 -- subset of data belong to parent record 2
“CONCATENATE”将是一个聚合函数,它不仅可以连接列,还可以将结果集中的行连接起来.像MAX一样,但是将所有内容都返回为字符串连接.
希望这可以帮助你看到我的意思!
我要解决的根本问题是我的客户端系统执行大量分层数据的导入.如果我可以通过使用散列来避免处理,那么我会认为这将节省大量的时间.目前,当处理重复数据时,SP运行速度会慢300%.
非常感谢
解决方法
您可以使用
CHECKSUM_AGG聚合.它是为了这个目的.