SQL Server批量删除数据库表

GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=1802

 

--/第1步**********删除所有表的外键约束*************************/

 

DECLARE c1 cursor for

select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; '

from sysobjects

where xtype = 'F'

open c1

declare @c1 varchar(8000)

fetch next from c1 into @c1

while(@@fetch_status=0)

begin

exec(@c1)

fetch next from c1 into @c1

end

close c1

deallocate c1

 

--/第2步**********删除所有表*************************/

 

--use sq_sqlmaoding   -- 数据库名(是要删除表的所在的那个数据库的名称)

GO

declare @sql varchar(8000)

while (select count(*) from sysobjects where type='U')>0

begin

SELECT @sql='drop table ' + name

FROM sysobjects

WHERE (type = 'U')

ORDER BY 'drop table ' + name

exec(@sql)

end

 

 

GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=1802

posted on 2021-09-05 22:35  森大科技  阅读(540)  评论(0编辑  收藏  举报

导航