爲了設計的目的,我需要截斷所有有很多FK的DB。我不能簡單地使用DELETE命令,因爲一些表設置了TinyInts的標識幷包含大約150個項目。如何避免DB truncate中所有表的外鍵約束?
這是一個查詢(截斷在選擇數據庫中的所有表)我試圖運行
Declare @t varchar (1024)
Declare tbl_cur cursor for
select TABLE_NAME from INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'
OPEN tbl_cur
FETCH NEXT from tbl_cur INTO @t
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC ('TRUNCATE TABLE '+ @t)
FETCH NEXT from tbl_cur INTO @t
END
CLOSE tbl_cur
DEALLOCATE tbl_Cur
什麼是最好的和最簡單的方式來實現對截斷DB與許多FK的?
你想要發生哪些記錄引用了待刪除的行?或者你是否試圖刪除所有相關表中的所有行? – 2010-06-03 11:22:23
@lc,我想完全清除所有數據的DB,只是保持結構 – eugeneK 2010-06-03 11:25:06