複数の DB のテーブルで重複する電子メール アドレスを見つける方法を見つけようとしています。私は30個のDBを持っており、すべて同じフィールドを持つ「Users」テーブルがあります(各DBは私たちの異なる顧客です)。各 DB を調べて、このテーブルからメール アドレスを取得し、現在の DB と他のすべての DB でこのメール アドレスを検索する必要があります。存在する場合はレコードを書き出し、存在しない場合は次のユーザー レコードに移動して繰り返します。これが私がこれまでに得たものですが、行き詰まっています。別のカーソル内にカーソルを作成する必要があると思いますが、動的に実行できるかどうかわかりません:
DECLARE @DBName varchar(20)
DECLARE @sSQL varchar(2000)
DECLARE LoopCursor CURSOR FOR
SELECT DBName
FROM Configuration
OPEN LoopCursor
FETCH NEXT FROM LoopCursor
INTO @DBName
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sSQL = '
Select EmailAddress
FROM ' + @DBName + '.dbo.Users'
--Not to sure what to do from here??
EXEC(@sSQL)
FETCH NEXT FROM LoopCursor
INTO @DBName
END
CLOSE LoopCursor
DEALLOCATE LoopCursor
SELECT 'DONE'
SQL Server 2008 R2 を使用しています。