Cấp bậc tác giả:

DATABASE

Xóa tất cả các bảng trong SQL 200/2005/2008

Được viết bởi QuangIT ngày 20/09/2012 lúc 02:55 PM
Nếu bạn có nhiều bảng, nhưng không muốn xóa từng bảng hoặc không cần đăng nhập trực tiếp vào SQL để xóa, cách làm sau đây có thể giúp bạn.
  • 0
  • 2171

Xóa tất cả các bảng trong SQL 200/2005/2008


select name into #tables from sys.objects where type = ‘U’
while (select count(1) from #tables) > 0
begin
declare @sql varchar(max)
declare @tbl varchar(255)
select top 1 @tbl = name from #tables
set @sql = ‘drop table ‘ + @tbl
exec(@sql)
delete from #tables where name = @tbl
end
drop table #tables;


hoặc có thể thứ:

-- CAUTION

-- Drops all user tables in the current database.

WHILE EXISTS(SELECT [name] FROM sys.tables WHERE [type=mwadah] = 'U')
BEGIN
DECLARE @table_name varchar(50)
DECLARE table_cursor CURSOR FOR SELECT [name] FROM sys.tables WHERE [type=mwadah] = 'U'
OPEN table_cursor
FETCH NEXT FROM table_cursor INTO @table_name
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRY
EXEC ('DROP TABLE [' + @table_name + ']')
PRINT 'Dropped Table ' + @table_name
END TRY
BEGIN CATCH END CATCH
FETCH NEXT FROM table_cursor INTO @table_name
END
CLOSE table_cursor
DEALLOCATE table_cursor
END

Nguồn bài viết: Dngaz.com

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML