Oracle中的truncate用法


语法:TRUNCATE  TABLE  table;

在使用truncate语句(DDL语言)可以删除表中的所有记录。使用truncate语句删除数据时,通常要比使用delete语句快得多,这是因为使用truncate语句删除数据时,不会产生任何回退信息,因此执行truncate语句操作也不能回退,且使用的系统和事务日志资源少。

DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。

在truncate语句中还可以使用reuse storage关键字,表示删除记录后任然保存记录所占用的空间;与此相反,如果使用drop storage关键字,则表示删除记录后立即回收记录所占的空间。默认使用drop storage关键字。

SQL> create table tt(

2  tid number(4)

3  );

SQL> insert into tt values(1);

已创建 1 行。

SQL> insert into tt values(2);

已创建 1 行。

SQL> insert into tt values(3);

已创建 1 行。

SQL> insert into tt values(4);

已创建 1 行。

SQL> insert into tt values(5);

已创建 1 行。

SQL> truncate table tt reuse storage;

表被截断。

SQL> select * from tt;

未选定行

相关内容

    暂无相关文章