0

我目前有以下有效的代码。它比较两个完全相同但位于两个单独数据库中的表,以确保它们具有相同的记录数。

我想知道是否有人看到了实现以下目标的更好方法?

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
4

2 回答 2

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
于 2013-10-14T08:34:52.890 回答
0

如果您想知道差异在哪里,您可以使用它来查找数据库 2 中丢失的记录

SELECT *
FROM database1.dbo.table1 D1
LEFT JOIN database2.dbo.table2 D2
ON D1.id = D2.id
WHERE D2.id IS NULL
于 2013-10-14T07:39:45.113 回答