sqlserver删除所有表(表结构和数据)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver删除所有表(表结构和数据)相关的知识,希望对你有一定的参考价值。
要删除某个数据库,或者删除数据库中的所有表(删除表结构和数据),需要先删除表间的外键约束,才能删除表。如删除数据库db_wy中的所有表:
--/第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 db_wy 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
以上是关于sqlserver删除所有表(表结构和数据)的主要内容,如果未能解决你的问题,请参考以下文章