我有一個龐大的數據庫與複雜的關係,我如何刪除所有表內容而不違反外鍵約束,有沒有這樣的方式來做到這一點?清空數據庫的內容
請注意,我寫一個SQL腳本文件來刪除表,如下面的例子:
delete from A
delete from B
delete from C
delete from D
delete from E
,但我不知道我應該開始什麼表。
我有一個龐大的數據庫與複雜的關係,我如何刪除所有表內容而不違反外鍵約束,有沒有這樣的方式來做到這一點?清空數據庫的內容
請注意,我寫一個SQL腳本文件來刪除表,如下面的例子:
delete from A
delete from B
delete from C
delete from D
delete from E
,但我不知道我應該開始什麼表。
在SQL Server中,有做你的要求沒有原生的方式。根據您的特定環境限制,您確實有幾個選項:
正如你所看到的,這不是一個非常簡單的過程,因爲你試圖破壞約束存在的原因。
TRUNCATE TABLE tableName
刪除表中的所有行,而不 登錄個人行刪除。 TRUNCATE TABLE類似於沒有WHERE子句的 DELETE語句;然而,TRUNCATE TABLE更快,並且 使用更少的系統和事務日誌 資源。
老兄,把你的問題在面值...你要完全重新創建無數據的架構......忘記了個人查詢(太慢了)......只是destroydb,然後創建b(或任何你的RDBM的等價物)......並且你可能想僱用一個合格的DBA。
謝謝,我認爲這是非常好的解決方案,我會測試它在我的情況 – qablan89 2011-04-24 08:54:09
notee,我不想刪除整個數據庫 – qablan89 2011-04-24 08:26:52