実際のシナリオ: 複製データベースがあり、どのテーブルのデータが元のデータベースから移動されていないかを知りたいです。次に、オリジナルから複製データベーステーブルを作成したいと思います。
次のスクリプトを作成して、部分的な解決策 (つまり、空のテーブルを見つける) を達成しました。
SELECT
DBDupl.[dbo].sysobjects.Name, DBDupl.[dbo].sysindexes.Rows FROM
DBDupl.[dbo].sysobjects
INNER JOIN DBDupl.[dbo].sysindexes
ON DBDupl.[dbo].sysobjects.id = DCT_SOURCE_QA.[dbo].sysindexes.id WHERE
type = 'U'
AND DBDupl.[dbo].sysindexes.IndId < 2 and rows= '0'
EXCEPT
SELECT
DBOrig.[dbo].sysobjects.Name, DBOrig.[dbo].sysindexes.Rows FROM
DBOrig.[dbo].sysobjects
INNER JOIN DBOrig.[dbo].sysindexes
ON DBOrig.[dbo].sysobjects.id = DBOrig.[dbo].sysindexes.id WHERE
type = 'U'
AND DBOrig.[dbo].sysindexes.IndId < 2 and rows= '0'
ここで、空のテーブルにデータを入力したいと考えています。両方のことを行うための単一のクエリはありますか。つまり、(1) どのテーブルにデータを入力する必要があるかを調べることと (2)。DBOrig から DBDupl にデータを入力します。上記のスクリプトで (1) を達成しましたが、手動でデータを挿入したくありません。