第1个回答 2010-06-11
Oracle 中 delete 表 就能够直接删除表数据,保留包结构啊。
drop 表 是删除整张表
drop 表 cascade 是级联删除。将关联关系的表数据删除。
第2个回答 推荐于2016-11-12
删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,因此可使用微软未正式公开的sp_MSForEachTable存储过程
sp_MSForEachTable参数说明:
@command1 nvarchar(2000), --第一条运行的SQL指令
@replacechar nchar(1) = N'?', --指定的占位符号
@command2 nvarchar(2000)= null, --第二条运行的SQL指令
@command3 nvarchar(2000)= null, --第三条运行的SQL指令
@whereand nvarchar(2000)= null, --可选条件来选择表
@precommand nvarchar(2000)= null, --执行指令前的操作(类似控件的触发前的操作)
@postcommand nvarchar(2000)= null --执行指令后的操作(类似控件的触发后的操作)
--删除当前数据库所有表中的数据
sp_MSforeachtable @command1='Delete from ?'
sp_MSforeachtable @command1 = "TRUNCATE TABLE ?"
第3个回答 2010-06-11
delete biao1,biao2,biao3,biao4
有多少写多少
还可以使用truncate 一样的操作
同时注意级联关系,使用cascade,就是在建外键的时候使用
Foreign Key
(column[,...n])
references referenced_table_name[(ref_column[,...n])]
[on delete cascade]
也可以用建立关系来实现,打开SQL中的“关系图”->建立关系图,然后选择你要建立关系的表,如果你的主键和外键已经建立好,则会自由关联,如果没有就手工拖一下,接下来就是选择“级联更新相关字段”和“级联删除相关字段”即可。
不然就只能先删除外键数据,再删除主键数据
第4个回答 2010-06-11
truncate table 表名