我目前有以下代码可行。它正在比较两个完全相同但在两个独立数据库中的表,以确保它们具有相同的记录数。
我想知道是否有人看到了更好的方法来实现以下目标?
Declare @count1 int
Declare @count2 int
select @count1 = count(*) from database1.dbo.table1
select @count2 = count(*) from database2.dbo.table1
if @count1 <> @count2
begin
insert into log table saying counts don't matc
end
答案 0 :(得分:1)
真的没有更好的方法。你可以在没有变量的情况下做到这一点:
if (select count(*) from database1.dbo.table1) <> (select count(*) from database2.dbo.table1)
begin
insert into log table saying counts don't matc
end
答案 1 :(得分:0)
如果您想知道差异的位置,可以使用它来查找数据库2中缺少的记录
SELECT *
FROM database1.dbo.table1 D1
LEFT JOIN database2.dbo.table2 D2
ON D1.id = D2.id
WHERE D2.id IS NULL