首页 新闻 会员 周边 捐助

清空数据库所有表,所有存储过程SQL语句

0
[已关闭问题] 关闭于 2010-02-09 11:23

就是说数据库里有很多表,表间有主外关系的,比较复杂,而且表也很多,还有大量存储过程,现在要清空数据库,就是回到初期创建新数据库的状态,怎么做呢?

(因为用虚拟主机,数据库就是这么搞的,所以想知道SQL语句,这个问题就解决了)

Joe_true的主页 Joe_true | 初学一级 | 园豆:98
提问于:2010-01-29 10:32
< >
分享
所有回答(5)
0

如果是Oracle的话,查询sysobjects表.

SELECT
name
FROM
sysobjects
WHERE
type
= 'U'

 

写一个存储过程.循环.逐个删除.

最后自己手动删除刚刚写的那个存储过程.

三阶 | 园豆:1636 (小虾三级) | 2010-01-29 11:06
0
declare @trun_name varchar(8000)
set @trun_name=''
select @trun_name=@trun_name + 'truncate table ' + [name] + ' ' from sysobjects where xtype='U' and status > 0
exec (@trun_name)

这是清空所有表的

artwl | 园豆:16736 (专家六级) | 2010-01-29 11:14
兄台这样不对 ,他是要清空数据库,不是单单只把表数据清空.
支持(0) 反对(0) 三阶 | 园豆:1636 (小虾三级) | 2010-01-29 11:17
0

--删除库中所有表

exec Sp_MSForEachTable @Command1 = “drop table‘?’”

草莽 | 园豆:210 (菜鸟二级) | 2010-01-29 11:59
0

清空储数据库所有存过程:
declare @string varchar(8000)
while exists(select name from sysobjects where type='p' and status>=0)
begin
select top 1 @string='drop  procedure' +name from   sysobjects    where   type = 'p' and status>=0
--select @string
exec (@string)
go

麒麟 | 园豆:389 (菜鸟二级) | 2010-01-29 12:15
0

打开数据库==》文件==》新建数据库

Ou lei | 园豆:619 (小虾三级) | 2010-01-29 13:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册