我有一个关系复杂的庞大数据库,如何在不违反外键约束的情况下删除所有表内容,是否有这样的方法呢?
请注意,我正在编写一个SQL脚本文件来删除表,例如以下示例:
delete from A
delete from B
delete from C
delete from D
delete from E
但我不知道我应该从哪个表开始。
答案 0 :(得分:2)
步骤可以是:
答案 1 :(得分:2)
在SQL Server中,没有本地方法可以执行您所要求的操作。根据您的特定环境限制,您可以选择一些选项:
正如您所看到的,这不是一个非常简单的过程,因为您试图颠覆存在约束的原因。
答案 2 :(得分:0)
TRUNCATE TABLE tableName
删除表中的所有行 记录单个行删除。 TRUNCATE TABLE类似于 没有WHERE子句的DELETE语句; 但是,TRUNCATE TABLE更快 使用较少的系统和事务日志 资源。
答案 3 :(得分:0)
Dude,从表面上看你的问题......你想完全重新创建没有数据的模式......忘记单个查询(太慢)......只是destroydb,然后创建b(或者你的RDBM的任何东西)相当于......)你可能想聘请一位称职的DBA。