一次性删除数据库所有表和所有存储过程 SQL语句
Posted 金琥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一次性删除数据库所有表和所有存储过程 SQL语句相关的知识,希望对你有一定的参考价值。
一次性删除数据库所有表和所有存储过程 SQL语句
今天转移数据库数据,需要把数据库原来的表和存储过程清空。
删除所有的表:
如果由于外键约束删除table失败,则先删除所有约束:
--/第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 数据库 declare @tname varchar(8000) set @tname=\'\' select @tname=@tname + Name + \',\' from sysobjects where xtype=\'U\' select @tname=\'drop table \' + left(@tname,len(@tname)-1) exec(@tname) ----清空存储过程 use [数据库名称] declare @tname varchar(8000) set @tname=\'\' select @tname=@tname + Name + \',\' from sysobjects where xtype=\'P\' select @tname=\'drop PROCEDURE \' + left(@tname,len(@tname)-1) exec(@tname)
转自:http://www.cnblogs.com/a-zx/articles/2405121.html
以上是关于一次性删除数据库所有表和所有存储过程 SQL语句的主要内容,如果未能解决你的问题,请参考以下文章
在一条 sql 语句中删除所有表、存储过程、触发器、约束和所有依赖项
数据库入门(SQL SEVER)之SQL语句删除单行数据,所有行数据,表和数据库
sql 在一个sql语句中删除所有表,存储过程,触发器,约束和所有依赖项