一条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
如果你验证成功了,请告诉我!