02/10/2018, 00:22

[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.

drop all table, trigger, store procedure, view sqlserver

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 heart

Tags:
0