これが、テーブルに主キーが必要な理由の 1 つです。 SQL Server のバージョンは? SQL Server 2005 以降の場合:
;WITH r AS
(
SELECT col1, col2, col3, -- whatever columns make a "unique" row
rn = ROW_NUMBER() OVER (PARTITION BY col1, col2, col3 ORDER BY col1)
FROM dbo.SomeTable
)
DELETE r WHERE rn > 1;
そうすれば、明日もこれを繰り返す必要がなくなり、次の日も、その次の日も、テーブルで主キーを宣言します。