当前位置: 代码迷 >> Sql Server >> SQL Server存储过程删除表,该怎么解决
  详细解决方案

SQL Server存储过程删除表,该怎么解决

热度:80   发布时间:2016-04-27 12:32:44.0
SQL Server存储过程删除表
我想删除一些废表,他们有命名规律:
他们均是以用户名开头,比如shanying1945,以某几个字符结尾,比如temp
用户名一定在用户名student表中,且不在A表中

多谢。

------解决方案--------------------
SQL code
--删除所有用户表:--select * from sysobjects where xtype='U' and category=0use masterdeclare @str varchar(max)set @str=''select @[email protected]+' drop table '+quotename(name,'')+';'from sysobjects where xtype='U' and category=0 --and name not in('table','user','return','order','客户信息')print @strexec(@str)--可以在这个基础上修改
------解决方案--------------------
你的表名和结尾的字符间,有没有规律?

比如你有一个用户名shanying1945
然后有一个表shanying1945temp

然后你再有一个用户名shanying1945t

然后shanying1945t用户名在A表中,

那么shanying1945temp表删不删?
------解决方案--------------------
楼主的表数量很多吗,上万个不?

如果没有,保险的话还是人工排查好了.
------解决方案--------------------
支持楼上,大批量删除表一旦语句有点错后面的事就可能会很麻烦
  相关解决方案