2013-06-02 78 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

据我所知,没有“如果存在”的标准。有些数据库支持它,有些则不支持,并会给你一个语法例外。

相关问题