Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да махна таблица, ако съществува?

Правилно ли е да направите следното?

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

Не Това ще премахне таблицата само ако съдържа редове (и ще изведе грешка, ако таблицата не съществува).

Вместо това можете да използвате за постоянна маса

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

Или можете да използвате за временна таблица

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

SQL Server 2016+ има по-добър начин, използвайки DROP TABLE IF EXISTS … . Вижте отговора от @Jovan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получа списък с всички таблици в база данни с помощта на TSQL?

  2. SQL Server 2016:Въздействие върху производителността на винаги криптирани

  3. SQL Server Log Shipping &Disaster Recovery Installation and Configuration -2

  4. Как мога да вляза в съхранена процедура на SQL Server от моя C# код?

  5. Представяме ви нова функция - репликация в облака на Spotlight