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

Làm cách nào để xóa tất cả các hàng khỏi tất cả các bảng trong cơ sở dữ liệu SQL Server?

Lưu ý rằng TRUNCATE sẽ không hoạt động nếu bạn có bất kỳ bộ toàn vẹn tham chiếu nào.

Trong trường hợp đó, điều này sẽ hoạt động:

EXEC sp_MSForEachTable 'DISABLE TRIGGER ALL ON ?'
GO
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
GO
EXEC sp_MSForEachTable 'SET QUOTED_IDENTIFIER ON; DELETE FROM ?'
GO
EXEC sp_MSForEachTable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL'
GO
EXEC sp_MSForEachTable 'ENABLE TRIGGER ALL ON ?'
GO

Chỉnh sửa:Để rõ ràng, ? trong các câu lệnh là một ? . Nó được thay thế bằng tên bảng bằng sp_MSForEachTable thủ tục.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để có được Visual Studio 2008 để chỉnh sửa các dự án báo cáo SSRS 2005 w / o Cài đặt SQL Business Intelligence Development Studio 2005?

  2. Truy vấn để lấy tên của tất cả các bảng trong Cơ sở dữ liệu SQL Server 2008

  3. PIVOT động, Kết quả trả về từ JOIN của hai bảng

  4. Trường VARCHAR (MAX) của tôi tự giới hạn ở mức 4000; đưa cái gì?

  5. Giải quyết tên máy chủ bằng t-sql