文法: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;
未標明行