Oracle 中的 TRUNCATE 命令用于快速删除表中所有数据,不使用事务日志,速度快,不可回滚,会重新分配表空间,保留表定义,并重置身份标识列。与 DELETE 相比,TRUNCATE 速度更快,不可回滚,会重新分配空间。
Oracle 中 TRUNCATE 用法
TRUNCATE 是 Oracle 中用于快速删除表中所有数据的命令。与 DELETE 语句不同,TRUNCATE 不使用事务日志,这使其执行速度更快。
语法
TRUNCATE TABLE table_name;
用途
TRUNCATE 通常用于以下情况:
特点
与 DELETE 的区别
TRUNCATE 和 DELETE 的区别如下:
| 特征 | TRUNCATE | DELETE |
|---|---|---|
| 速度 | 更快 | 更慢 |
| 可回滚 | 不可回滚 | 可回滚 |
| 空间分配 | 重新分配空间 | 不重新分配空间 |
| 表定义 | 保留 | 保留 |
| 标识标识列 | 重置 | 不重置 |
示例
以下示例将删除表 EMPLOYEES 中的所有数据:
TRUNCATE TABLE EMPLOYEES;
注意事
项
使用 TRUNCATE 时请注意以下事项: