您现在的位置:龙卷风首页 ›› 网络编程 ›› 阅读文章

一条sql语句删除sql server 2000中所有用户表

存储过程sp_msforeachtable很强大呀

EXECUTE sp_msforeachtable 'delete from ?'
或者
EXECUTE sp_msforeachtable 'truncate table ?'

这是清空所有数据表的内容。连表一起删除的命令式:

exec sp_msforeachtable "drop table ?"

危险操作,运行之前要慎重考虑呀!

我还想删除所有存储过程,不过好像没有 sp_msforeachprocedure命令了!有人发了一个系统表的sql query,在万网的空间上尝试不成功,估计是屏蔽了访问系统表的权限。

删除所有存储过程的sql 语句如下:

declare @procName varchar(500)

declare cur cursor

for select [name] from sys.objects where type = 'p'

open cur

fetch next from cur into @procName

while @@fetch_status = 0

begin

if @procName <> 'DeleteAllProcedures'

exec('drop procedure ' + @procName)

fetch next from cur into @procName

end

close cur

deallocate cur

如果你验证成功了,请告诉我!

作者 不见不散 本文仅代表作者观点,与龙卷风资讯网立场无关。

我来说两句

内容/Content