仅当sql表存在时为空(不删除)

仅当sql表存在时为空(不删除),sql,Sql,如何仅在表存在时删除其内容?sql语句最好是标准的,不面向任何数据库 请注意,如果表存在,我不想删除它,即 DROP TABLE IF EXISTS foo PS:我已经选中了truncate和delete,但是如果表存在,它们不符合要求。Edit INFORMATION\u SCHEMA通常不会在不同版本之间更改,这在大多数数据库中都很常见,据我所知,这是检查SQL中是否存在表的最合适方法: IF (EXISTS (SELECT * FROM INFORM

如何仅在表存在时删除其内容?sql语句最好是标准的,不面向任何数据库

请注意,如果表存在,我不想删除它,即

DROP TABLE IF EXISTS foo
PS:我已经选中了truncate和delete,但是如果表存在,它们不符合要求。

Edit

INFORMATION\u SCHEMA
通常不会在不同版本之间更改,这在大多数数据库中都很常见,据我所知,这是检查SQL中是否存在表的最合适方法:

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

据我所知,“如果存在”没有标准。有些数据库支持它,有些则不支持,并且会给您一个语法异常。

毫无意义。是否仅在表存在时删除该表的内容?请确保不能删除不存在的表的内容。如何删除或截断不符合您的要求?