博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用达思SQL数据库修复软件导出数据库时的接收数据的数据库如何清空表数据?...
阅读量:6354 次
发布时间:2019-06-22

本文共 1569 字,大约阅读时间需要 5 分钟。

清空表数据,保留视图,存储过程,函数,以及保留表约束、触发器等等,可以给故障数据库预留一个好的躯壳,把坏库数据导入此躯壳。对用友、金蝶等数据库恢复有时候能达到好的效果。

清除表数据有两种方法:

一种用delete from [表名] ,这种方法对于大数据库,速度慢,会产生很大的日志信息,对于小库,速度可以忽略;

另一种是truncate table [表名] ,这种方法速度快,但清除不了具有外键的表数据。

在清除表数据时,可以采用两种方法结合。

清除表数据时先禁用一切约束,清除完成以后再次启用约束就行了。

1、 采用truncate table [表名] 清除表数据,排除具有外键属性的表,清除语句获取如下:

Use [要操作的库名字]


select

'alter table [' +name+ '] nocheck constraint all; alter table [' +name + '] disable trigger all;

truncate table ['+name+'];'

  • ' alter table [' +name + '] enable trigger all; alter table [' +name + '] check constraint all;

    go'

    from sysobjects where id not in(select parent_object_id from sys.foreign_keys ) and id not in(select referenced_object_id from sys.foreign_keys ) and type='U'


上述SQL语句得到的结果,再次在SQL查询分析器里运行。

2、用 delete from [表名] 清除表数据语句获取如下

Use [要操作的库名字]


SELECT 'alter table [' +object_name (id) + '] nocheck constraint all; alter table [' +object_name (id) + '] disable trigger all;

delete from ['+object_name (id)+'];' + '

alter table [' +object_name (id) + '] enable trigger all; alter table [' +object_name (id) + '] check constraint all;

go'

TableName from sysobjects where type='U'


3、 有些MS SQL Server查询分析器,对于 上述语句后面的 go ,copy出来后不自动换行,可以把运行结果保存到文本文件中,查询分析器打开以后,会自动换行。如果不自动换行,sql语句执行报错。

4、 可能遇到清除不了的某些表,查看它和哪些表关联外键,先把两个表的约束同时禁用,再用delete from [表名],完了以后,两个表同时恢复约束使用。

5、 查看清除数据是否成功彻底,用下述语句查看记录数量:

Use [要操作的库名字]


SELECT object_name (i.id) TableName,

rows as RowCnt

FROM sysindexes i

INNER JOIN sysObjects o

ON (o.id = i.id AND o.xType = 'U ')

WHERE indid < 2 and RowCnt>0

ORDER BY RowCnt desc

转载于:https://blog.51cto.com/13803354/2395611

你可能感兴趣的文章
世界经济论坛发布关于区块链网络安全的报告
查看>>
巨杉数据库加入CNCF云原生应用计算基金会,共建开源技术生态
查看>>
Ubuntu 16.04安装Nginx
查看>>
从 JS 编译原理到作用域(链)及闭包
查看>>
flutter 教程(一)flutter介绍
查看>>
CSS面试题目及答案
查看>>
【从蛋壳到满天飞】JS 数据结构解析和算法实现-Arrays(数组)
查看>>
Spring自定义注解从入门到精通
查看>>
笔记本触摸板滑动事件导致连滑的解决方式
查看>>
Runtime 学习:消息传递
查看>>
你了解BFC吗?
查看>>
linux ssh tunnel使用
查看>>
十、详解FFplay音视频同步
查看>>
自定义元素探秘及构建可复用组件最佳实践
查看>>
小猿圈Python教程之全面解析@property的使用
查看>>
mpvue开发小程序所遇问题及h5转化方案
查看>>
View和Activity的生命周期
查看>>
解决PHP下载大文件失败,并限制下载速度
查看>>
java B2B2C Springcloud多租户电子商城系统 (五)springboot整合 beatlsql
查看>>
Throwable是一个怎样的类?
查看>>