日期:2014-05-17  浏览次数:20438 次

sql2008删除一个schema下的所有的表
总不能一个个删除吧,太慢了,有快捷的方法吗
SQL Schema

------解决方案--------------------
引用:
Quote: 引用:

EXEC MASTER..sp_MSforeachtable 'drop table ?'

谢谢大神回复,小弟sql不是很熟,能不能举个简单的例子?

查看下sp_MSforeachtable过程就清楚了,EXEC MASTER..sp_MSforeachtable 'drop table ?'是删除当前数据库下的所有表
------解决方案--------------------
引用:
Quote: 引用:


select 'DROP TABLE  ' + SCHEMA_NAME(schema_id) +'.'+name
 from sys.objects where type ='u' and SCHEMA_NAME(schema_id) ='schemaname'

可以产生脚本删除 

您好,产生的脚本能不能根据依赖关系,排一下顺序,不然执行脚本的时候,总是有些表无法删除

这个你可以根据DEPENDENCY的DMV自己写代码实现。