テーブル名は ですScores
。
次のようにするのは正しいでしょうか?
IF EXISTS(SELECT *
FROM dbo.Scores)
DROP TABLE dbo.Scores
ベストアンサー1
次のようにするのは正しいでしょうか?
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 …
。@Jovanによる回答。