我有一个庞大的数据库与复杂的关系,我如何删除所有表内容而不违反外键约束,有没有这样的方式来做到这一点?清空数据库的内容
请注意,我写一个SQL脚本文件来删除表,如下面的例子:
delete from A
delete from B
delete from C
delete from D
delete from E
,但我不知道我应该开始什么表。
我有一个庞大的数据库与复杂的关系,我如何删除所有表内容而不违反外键约束,有没有这样的方式来做到这一点?清空数据库的内容
请注意,我写一个SQL脚本文件来删除表,如下面的例子:
delete from A
delete from B
delete from C
delete from D
delete from E
,但我不知道我应该开始什么表。
在SQL Server中,有做你的要求没有原生的方式。根据您的特定环境限制,您确实有几个选项:
正如你所看到的,这不是一个非常简单的过程,因为你试图破坏约束存在的原因。
TRUNCATE TABLE tableName
删除表中的所有行,而不 登录个人行删除。 TRUNCATE TABLE类似于没有WHERE子句的 DELETE语句;然而,TRUNCATE TABLE更快,并且 使用更少的系统和事务日志 资源。
老兄,把你的问题在面值...你要完全重新创建无数据的架构......忘记了个人查询(太慢了)......只是destroydb,然后创建b(或任何你的RDBM的等价物)......并且你可能想雇用一个合格的DBA。
谢谢,我认为这是非常好的解决方案,我会测试它在我的情况 – qablan89 2011-04-24 08:54:09
notee,我不想删除整个数据库 – qablan89 2011-04-24 08:26:52