java随记

坚持就是胜利!

 

在MS SQLSERVER中如何最快的速度清空所有用户表的数据

有时候我们需要清空数据库中所有用户表的数据,如果一张表一张表的清空的话,遇到一个庞大的数据系统估计得崩溃了.  用游标加上用变量来引用表名就可以做到这一点. 用变量来引用表名对表操作可以用在存储过程中,根据需要动太选择引用某个表的数据或对其操作   估计用的不多,好玩而已:)
//定义游标
DECLARE tables_cursor CURSOR
   FOR
   SELECT name FROM sysobjects WHERE type = 'U' //选择用户表名
OPEN tables_cursor //打开游标连接

DECLARE @tablename sysname  // 定义变量
FETCH NEXT FROM tables_cursor INTO @tablename   //结果集中一行一行读取表名
WHILE (@@FETCH_STATUS <> -1)  //判断游标状态
BEGIN

   EXEC ('TRUNECATE TABLE ' + @tablename)   //清空表中的数据
   FETCH NEXT FROM tables_cursor INTO @tablename  //下一行数据
END

DEALLOCATE tables_cursor  //关闭游标

posted on 2006-06-30 17:09 傻 瓜 阅读(3611) 评论(1)  编辑  收藏 所属分类: MS SQLSERVER

评论

# re: 在MS SQLSERVER中如何最快的速度清空所有用户表的数据 2006-07-01 13:21 我心飞翔

不错。  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿(7)

我参与的团队

随笔分类

随笔档案

文章分类

友情链接

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜