sql >> Databáze >  >> RDS >> Sqlserver

Jak zrušit tabulku, pokud existuje?

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.



  1. SQLiteException:Nerozpoznaný token při čtení z databáze

  2. Nastavení NLS_NUMERIC_CHARACTERS pro desetinné místo

  3. Dotaz na prvky pole uvnitř typu JSON

  4. 2 způsoby, jak nahradit podřetězec v MariaDB