[SQLSERVER] Hướng dẫn xóa tất cả table, store procedure, view, trigger bằng T-SQL
Bài viết hôm nay, mình sẽ hướng dẫn các bạn cách xóa tất cả table, trigger, store procedure, view trong sqlserver một cách đơn giản. Nếu bạn đang quản lý cơ sở dữ liệu sql và các bạn muốn xóa hết tất cả các table, store procedure, view, trigger đang ...
Bài viết hôm nay, mình sẽ hướng dẫn các bạn cách xóa tất cả table, trigger, store procedure, view trong sqlserver một cách đơn giản.
Nếu bạn đang quản lý cơ sở dữ liệu sql và các bạn muốn xóa hết tất cả các table, store procedure, view, trigger đang có trong database thì chúng ta sẽ làm cách nào, không lẽ có khoảng vài trăm trigger mà chúng ta phải đi chọn và xóa từng cái.
Cách thực hiện:
Các bạn chỉ cần sử dụng Cursor để tạo vòng lặp qua các table, store procedure... để xóa thôi.
Nếu các nào chưa biết sử dụng vòng lặp for trong sqlserver có thể tìm bài trên trang của mình nhé.
Lưu ý: Đây là những câu lệnh nguy hiểm đến hệ thống database, nên các bạn phải cẩn thận nhé.
1. Xóa tất cả các table
EXEC sp_MSforeachtable @command1 = "DROP TABLE ?"
2. Xóa tất cả store procedure trong database
Declare @procName varchar(500) Declare cur Cursor For Select [name] From sys.objects where type = 'p' Open cur Fetch Next From cur Into @procName While @@fetch_status = 0 Begin Exec('drop procedure ' + @procName) Fetch Next From cur Into @procName End Close cur Deallocate cur
3. Xóa tất cả các View
Declare @viewName varchar(500) Declare cur Cursor For Select [name] From sys.objects where type = 'v' Open cur Fetch Next From cur Into @viewName While @@fetch_status = 0 Begin Exec('drop view ' + @viewName) Fetch Next From cur Into @viewName End Close cur Deallocate cur
4. Xóa tất cả các trigger
Declare @trgName varchar(500) Declare cur Cursor For Select [name] From sys.objects where type = 'tr' Open cur Fetch Next From cur Into @trgName While @@fetch_status = 0 Begin Exec('drop trigger ' + @trgName) Fetch Next From cur Into @trgName End Close cur Deallocate cur
HAPPY CODING