SQL删除所有表数据的方法是我们需要的,下面就教您一个可以轻松解决这个问题的方法,供您参考,如果您在SQL删除所有表数据方面遇到过类似的问题,供您参考。
有时候我们需要清空数据库中所有用户表的数据,如果一张表一张表的清空的话,遇到一个庞大的数据系统SQL删除所有表数据还要这么操作估计得崩溃了。 用游标加上用变量来引用表名就可以做到这一点. 用变量来引用表名对表操作可以用在存储过程中,根据需要动太选择引用某个表的数据或对其操作。
//定义游标
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 //关闭游标
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
以上就是SQL删除所有表数据的实现方法。
【编辑推荐】