日期:2014-05-20  浏览次数:20365 次

菜鸟问题 如何清空数据库中一个表?谢谢!
MSSQL   2000  
假设有表A,B,C         只清空表A的内容     怎么办?谢谢!

------解决方案--------------------
DELETE FROM [A]
------解决方案--------------------
TRUNCATE TABLE a
------解决方案--------------------
DELETE 语句是最通用的,TRUNCATE TABLE 也可以,但不是所有情况都适用的

TRUNCATE TABLE 删除表中的所有行,而不记录单个行删除操作。TRUNCATE TABLE 在功能上与没有 WHERE 子句的 DELETE 语句相同;但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少。

TRUNCATE TABLE 具有以下优点:

所用的事务日志空间较少。
使用的锁通常较少。
表中将毫无例外地不留下任何页。

但不能对以下表使用 TRUNCATE TABLE:

由 FOREIGN KEY 约束引用的表。
参与索引视图的表。
通过使用事务复制或合并复制发布的表。

另外 TRUNCATE TABLE 不能激活触发器
------解决方案--------------------
另外 TRUNCATE TABLE 会重置标识列,将该列的计数器重置为该列定义的种子值。如果未定义种子,则使用默认值 1。若要保留标识计数器,请使用 DELETE。
------解决方案--------------------
DELETE FROM dbo.[A]