簡體   English   中英

在兩個表之間計數並找出差異

[英]count between two tables and finding difference

我目前有以下有效的代碼。 它在兩個完全不同的數據庫中比較兩個完全相同的表,以確保它們具有相同的記錄數。

我想知道是否有人看到實現以下目標的更好方法?

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

確實沒有更好的方法。 您可以在不使用變量的情況下進行操作:

if (select count(*) from database1.dbo.table1) <> (select count(*) from database2.dbo.table1)
begin
   insert into log table saying counts don't matc
end

如果您想知道差異在哪里,可以使用它來查找數據庫2中缺少的記錄

SELECT *
FROM database1.dbo.table1 D1
LEFT JOIN database2.dbo.table2 D2
ON D1.id = D2.id
WHERE D2.id IS NULL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM