Làm như sau có đúng không?
IF EXISTS(SELECT * FROM dbo.Scores) DROP TABLE dbo.Scores
Không Điều đó sẽ chỉ xóa bảng nếu nó chứa bất kỳ hàng nào (và sẽ phát sinh lỗi nếu bảng không tồn tại).
Thay vào đó, đối với một bảng cố định, bạn có thể sử dụng
IF OBJECT_ID('dbo.Scores', 'U') IS NOT NULL
DROP TABLE dbo.Scores;
Hoặc, đối với một bảng tạm thời, bạn có thể sử dụng
IF OBJECT_ID('tempdb.dbo.#TempTableName', 'U') IS NOT NULL
DROP TABLE #TempTableName;
SQL Server 2016+ có một cách tốt hơn, sử dụng DROP TABLE IF EXISTS …
. Xem câu trả lời của @Jovan.