SQL server删除数据库所有表数据

1.清空所有数据表中的记录:

exec sp_msforeachtable  @Command1 ='truncate table ?'

2.删除所有数据表

exec sp_msforeachtable 'delete   N''?'''

3.如果出现 数据表中有各种约束,就不能使用上面的方法来删除数据了,只能使用以下方式:

//创建自定义存储过程
CREATE PROCEDURE sp_DeleteAllData
AS
//前两句首先关闭所有的外检约束和索引器
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL'
//然后 再删除所有的表数据
EXEC sp_MSForEachTable 'DELETE FROM ?'
//然后 再重新 恢复启用表约束和索引器。
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL'
EXEC sp_MSFOREACHTABLE 'SELECT * FROM ?'
GO 

你可能感兴趣的:(sql,big,data,数据库)