Je správné provést následující?
IF EXISTS(SELECT * FROM dbo.Scores) DROP TABLE dbo.Scores
Ne. Tím se tabulka zruší, pouze pokud obsahuje nějaké řádky (a vyvolá chybu, pokud tabulka neexistuje).
Místo toho můžete pro stálý stůl použít
IF OBJECT_ID('dbo.Scores', 'U') IS NOT NULL
DROP TABLE dbo.Scores;
Nebo můžete použít dočasnou tabulku
IF OBJECT_ID('tempdb.dbo.#TempTableName', 'U') IS NOT NULL
DROP TABLE #TempTableName;
SQL Server 2016+ má lepší způsob, pomocí DROP TABLE IF EXISTS …
. Viz odpověď od @Jovan.