oracle中的truncate用法
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;
未選定行