删除所有表

exec   sp_msforeachtable   @command1="delete   ?"   ,@whereand="and   name   like   'ts%'"

use   hotop100  
  declare   @tname   varchar(50)  
  declare   a_cursor   cursor   for  
  select   name   from   sysobjects   where   type='u'  
  open   a_cursor  
            fetch   next   from   a_cursor   into   @tname  
            while   @@FETCH_STATUS=0  
                  begin  
                      delete   from   @tname--?里??,?怎么改?  
                      fetch   next   from   a_cursor   into   @tname  
                  end  
  close   a_cursor  
  deallocate   a_cursor
exec('delete   from   '+@tname)  
你的一大段一句就可以了:  
  exec   sp_msforeachtable   'delete   from   ?'
如果  
  declare   a_cursor   cursor   for  
  select   name   from   sysobjects   where   type='u'   and   name   like   'ts%'  
  用exec   sp_msforeachtable   'delete   from   ?'  
  ?怎么??
exec   sp_msforeachtable   @command1="delete   ?"   ,@whereand="and   name   like   'ts%'"
exec   sp_msforeachtable   @command1="delete   ?"   ,@whereand="and   name =   'erplog'"
delete   from   +   @tname,???句在?法是有??的,可以用下面的?句?代替  
  exec('delete   from   '+@tname),???句是先把?量@tname与'delete   from   '字串?合后,然后?行,所以???句可以?行
exec   sp_msforeachtable   'delete   from   ?'   /*刪除所有表中的所有記錄*/
exec sp_MSForEachDb @Command1 = "select count(name) from ?.dbo.sysobjects where xtype='U'" /*統計每個資料庫的所有的表*/
exec sp_MSForEachtable @Command1 = "sp_Spaceused '?'"
exec sp_MSForEachDb @Command1 = "print '?'"
posted @ 2008-08-21 21:46  Jinny  阅读(687)  评论(0编辑  收藏  举报