我使用SQL SERVER 2008 R2.

是否有SQL命令清空数据库,而不必截断我的所有20个表?

我只想删除数据,而不是 struct .

推荐答案

您可以按如下方式使用sp_MSforeachtable存储过程:

USE MyDatabase
EXEC sp_MSforeachtable 'TRUNCATE TABLE ?'

请注意,这将删除(通过截断)所有用户表中的所有数据.如果由于外键等原因不能截断,您可以运行与DELETE相同的命令:

USE MyDatabase
EXEC sp_MSforeachtable 'DELETE FROM ?'

Database相关问答推荐

如何调试Anylogic SQL数据库TLS错误?

使用python为组中的每个元素添加一个序列号

多列索引的顺序

从 DbDataReader 读取数据的最快方法是什么?

在 PostgreSQL 触发函数中使用 pg_notify

MongoDB:查询具有两个相等字段 $match 和 $eq 的文档

Select 最佳主键 + 编号系统

如何删除 SQLite 中具有多个 where 参数的行?

更改列类型而不丢失数据

什么是数据仓库?

获取错误函数 to_date(timestamp without time zone, unknown) 不存在

在内存中创建 SQLite 数据库

如何一次插入1000行

何时在关系数据库中使用枚举或小表?

如何在 Google AppEngine 上实现自动增量

Codeigniter - 使用多个数据库

分离实体和被管理实体

Spring data : CrudRepository 的保存方法和更新

如何在 SQLServer 数据库的两个实例之间复制数据记录

我可以在 /sdcard 上下载 SQLite 数据库并从我的 Android 应用程序访问它吗?