当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-01-25 23:11:00  来源:本站整理

SQL中一次清空数据库全部数据的语句写法[MSSQL防范]

赞助商链接



  本文“SQL中一次清空数据库全部数据的语句写法[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

下面将为您介绍SQL中一次清空数据库全部数据的语句写法,供您参考,假如您在利用SQL数据库时也碰到了近似的问题,无妨一看,相信对您会有所启迪.

近来发现数据库过大,空间不足,因此打算将数据库的数据举行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想操纵SQL语句一次清空全部数据.找到了三种办法举行清空.利用的数据库为MS SQL SERVER.

1.搜索出全部表名,构造为一条SQL语句
declare @trun_name varchar(8000)
set @trun_name=''
select @trun_name=@trun_name + 'truncate table ' + [name] + ' ' from sysobjects where xtype='U' and status > 0
exec (@trun_name)
该办法合适表不是非常多的情形,不然表数目过量,超越字符串的长度,不能举行完好清理.

2.操纵游标清理全部表
declare @trun_name varchar(50)
declare name_cursor cursor for
select 'truncate table ' + name from sysobjects where xtype='U' and status > 0
open name_cursor
fetch next from name_cursor into @trun_name
while @@FETCH_STATUS = 0
begin
  exec (@trun_name)
 print 'truncated table ' + @trun_name
 fetch next from name_cursor into @trun_name
end
close name_cursor
deallocate name_cursor

这是我自己构造的,可以做为存储历程调用, 可以一次清空全部表的数据,并且还可以举行有挑选的清空表.
3.操纵微软未公开的存储历程

exec sp_msforeachtable "truncate table ?"
 
该办法可以一次清空全部表,但不能加过滤条件.
 

<
  以上是“SQL中一次清空数据库全部数据的语句写法[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • SQL中JOIN和UNION辨别、用法及示例介绍
  • 关于SQL中CTE(公用表表达式)(Common Table Expression)的总结
  • MySQL中CHAR和VARCHAR范例演变和详解
  • mysql中疾速插入百万条测试数据的办法
  • mysql中取字符串中的数字的语句
  • Mysql中校对集utf8_unicode_ci与utf8_general_ci的辨别阐明
  • mysql中RAND()随便查询记录效率问题和办理办法分享
  • mysql中字符串或字段中空格函数的删除
  • MySQL中关于varchar最大长度的问题
  • SQL中的CASE WHEN用法
  • sql中into的用法
  • 改正MySQL中一个用户的密码
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .