欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

sql server 删除数据库中所有表数据

程序员文章站 2024-02-22 22:52:54
...

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

exec sp_msforeachtable  @Command1 ='truncate table ?'

2.删除所有数据表

exec sp_msforeachtable 'delete   N''?'''
  1. 如果出现 数据表中有各种约束,就不能使用上面的方法来删除数据了,只能使用以下方式:
//创建自定义存储过程
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