Est-il correct de faire ce qui suit ?
IF EXISTS(SELECT * FROM dbo.Scores) DROP TABLE dbo.Scores
Non. Cela supprimera le tableau uniquement s'il contient des lignes (et générera une erreur si le tableau n'existe pas).
Au lieu de cela, pour une table permanente, vous pouvez utiliser
IF OBJECT_ID('dbo.Scores', 'U') IS NOT NULL
DROP TABLE dbo.Scores;
Ou, pour une table temporaire, vous pouvez utiliser
IF OBJECT_ID('tempdb.dbo.#TempTableName', 'U') IS NOT NULL
DROP TABLE #TempTableName;
SQL Server 2016+ a un meilleur moyen, en utilisant DROP TABLE IF EXISTS …
. Voir la réponse de @Jovan.