快速检查SQL两表数据是否一致
1前话
项目内实现了一新功能:克隆数据库。
2目标
克隆并非用SQLSERVER克隆,故完毕后需要检查各表内一些数据与原表一致性。一些表中的某一些列容许不一致。
3实现
将两表的需要检查的几列取出,相加每行checksum作为本表数据特征,对比。
4代码
declare @col varchar(200)
set @col=''
select @col=@col+','+name from syscolumns where id=object_id('表') and name<>'不要的列' order by colid
set @col=stuff(@col,1,1,'')
exec('select sum(cast(checksum('+@col+')as bigint))as checksumvalue from 表')