表名称为Scores
。
以下操作是否正确?
IF EXISTS(SELECT *
FROM dbo.Scores)
DROP TABLE dbo.Scores
最佳答案
Is it correct to do the following?
IF EXISTS(SELECT * FROM dbo.Scores) DROP TABLE dbo.Scores
否。仅当表包含任何行时才会删除该表(如果表不存在,则会引发错误)。
相反,对于永久表,您可以使用
IF OBJECT_ID('dbo.Scores', 'U') IS NOT NULL
DROP TABLE dbo.Scores;
或者,您可以使用临时表
IF OBJECT_ID('tempdb.dbo.#TempTableName', 'U') IS NOT NULL
DROP TABLE #TempTableName;
SQL Server 2016+ 有更好的方法,使用DROP TABLE IF EXISTS ...
。请参阅the answer by @Jovan .
关于sql-server - 如果表存在,如何删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7887011/