データベースのすべてのテーブルからすべてのレコードを削除するにはどうすればよいですか? 1 つの SQL コマンドで実行できますか、それとも 1 つのテーブルごとに 1 つの SQL コマンドが必要ですか?
ベストアンサー1
SQLMenace のソリューションは、データの削除方法を少し調整することで機能しましDELETE FROM
たTRUNCATE
。
-- disable referential integrity
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
GO
EXEC sp_MSForEachTable 'DELETE FROM ?'
GO
-- enable referential integrity again
EXEC sp_MSForEachTable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL'
GO