sql >> Database >  >> RDS >> Sqlserver

Hoe een tafel laten vallen als deze bestaat?

Is het correct om het volgende te doen?

IF EXISTS(SELECT *
          FROM   dbo.Scores)
  DROP TABLE dbo.Scores

Nee. Dat zal de tabel alleen laten vallen als deze rijen bevat (en zal een foutmelding geven als de tabel niet bestaat).

In plaats daarvan kunt u voor een vaste tafel

IF OBJECT_ID('dbo.Scores', 'U') IS NOT NULL 
  DROP TABLE dbo.Scores; 

Of, voor een tijdelijke tafel die u kunt gebruiken

IF OBJECT_ID('tempdb.dbo.#TempTableName', 'U') IS NOT NULL
  DROP TABLE #TempTableName; 

SQL Server 2016+ heeft een betere manier, met behulp van DROP TABLE IF EXISTS … . Zie het antwoord van @Jovan.



  1. Gegevensreplicatie in IRI Workbench

  2. Geeft GETUTCDATE() dezelfde waarde terug als deze twee keer in dezelfde instructie wordt gebruikt?

  3. 2 manieren om alle triggers in een PostgreSQL-database op te sommen

  4. Gebruikersaccountbeheer, rollen, machtigingen, authenticatie PHP en MySQL - Deel 6