2013-06-02 102 views
0

如何刪除表的內容才存在?最好sql語句應該是標準的,而不是面向任何db。只有在存在的情況下才能清空sql表(不能刪除)

請注意,我不希望刪除表,如果它存在,即

DROP TABLE IF EXISTS foo 

PS:我已經檢查截斷並刪除,但如果表中存在不符合要求。

+0

沒有意義。僅當表格存在時刪除表格的內容?當然,你不能刪除不存在的表的內容。如何刪除或截斷不符合您的要求? – Paparazzi

回答

1

編輯

INFORMATION_SCHEMA通常不會不同版本之間並改變常見於大多數數據庫,並以我所知這是檢查SQL是否存在表的最正確的方法:

IF (EXISTS (SELECT * 
       FROM INFORMATION_SCHEMA.TABLES 
       WHERE TABLE_NAME = tableName)) 
BEGIN 
    DELETE FROM tableName 
END 
1

據我所知,沒有「如果存在」的標準。有些數據庫支持它,有些則不支持,並會給你一個語法例外。

相關問題