当前位置: 代码迷 >> Sql Server >> sql2008剔除一个schema下的所有的表
  详细解决方案

sql2008剔除一个schema下的所有的表

热度:23   发布时间:2016-04-24 21:17:30.0
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自己写代码实现。
  相关解决方案