发布日期:2018-03-26
如何删除SQL Server中的一张表?+ 查看更多
如何删除SQL Server中的一张表?
+ 查看更多
发布日期:2018-02-24 16:38
分类:SQL
浏览次数:185
表名为 Scores.
下面的作法对吗?
IF EXISTS(SELECT * FROM dbo.Scores) DROP TABLE dbo.Scores
回答
不对! 这个作法只能在Scores表已经存在,并且包含数据的条件下,才会删除表。
如果 Scores表不存在,SELECT * FROM dbo.Scores 将会产生错误。
永久表( permanent table )的删除方法如下:
IF OBJECT_ID('dbo.Scores', 'U') IS NOT NULL DROP TABLE dbo.Scores;
临时表( temporary table )的删除方法如下:
IF OBJECT_ID('tempdb.dbo.#T', 'U') IS NOT NULL DROP TABLE #T;
对于SQL Server 2016或者更高版本, 还有一个更好的办法:
DROP TABLE IF EXISTS dbo.Scores