Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm thế nào để bỏ một bảng nếu nó tồn tại?

Làm như sau có đúng không?

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

Không Điều đó sẽ chỉ xóa bảng nếu nó chứa bất kỳ hàng nào (và sẽ phát sinh lỗi nếu bảng không tồn tại).

Thay vào đó, đối với một bảng cố định, bạn có thể sử dụng

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

Hoặc, đối với một bảng tạm thời, bạn có thể sử dụng

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

SQL Server 2016+ có một cách tốt hơn, sử dụng DROP TABLE IF EXISTS … . Xem câu trả lời của @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. Sự khác biệt giữa Scope_Identity (), Identity (), @@ Identity và Ident_Current () là gì?

  2. So sánh các kế hoạch thực thi trong SQL Server

  3. Lỗi máy chủ SQL 4104:Không thể liên kết số nhận dạng nhiều phần.

  4. SQL Server NẾU KHÔNG TỒN TẠI Sử dụng?

  5. Tại sao chúng ta luôn thích sử dụng các tham số trong các câu lệnh SQL?