truncate table (tablename )表明


Truncate是SQL中的一個刪除數據表內容的語句,用法是:

  語法

  TRUNCATE TABLE name

  參數

  name

  是要截斷的表的名稱或要刪除其全部行的表的名稱。

  下面是對Truncate語句在MSSQLServer2000中用法和原理的說明:

  Truncate table 表名 速度快,而且效率高,因為:


  TRUNCATE TABLE 在功能上與不帶 WHERE 子句的 DELETE 語句相同:二者均刪除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系統和事務日志資源少。


  DELETE 語句每次刪除一行,並在事務日志中為所刪除的每行記錄一項。TRUNCATE TABLE 通過釋放存儲表數據所用的數據頁來刪除數據,並且只在事務日志中記錄頁的釋放。


  TRUNCATE TABLE 刪除表中的所有行,但表結構及其列、約束、索引等保持不變。新行標識所用的計數值重置為該列的種子。如果想保留標識計數值,請改用 DELETE。如果要刪除表定義及其數據,請使用 DROP TABLE 語句。


  對於由 FOREIGN KEY 約束引用的表,不能使用 TRUNCATE TABLE,而應使用不帶 WHERE 子句的 DELETE 語句。由於 TRUNCATE TABLE 不記錄在日志中,所以它不能激活觸發器。


  TRUNCATE TABLE 不能用於參與了索引視圖的表。

  對用TRUNCATE TABLE刪除數據的表上增加數據時,要使用UPDATE STATISTICS來維護索引信息。

  如果有ROLLBACK語句,DELETE操作將被撤銷,但TRUNCATE不會撤銷。

  示例

  下例刪除 authors 表中的所有數據。

  TRUNCATE TABLE authors

  權限

  TRUNCATE TABLE 權限默認授予表所有者、sysadmin 固定服務器角色成員、db_owner 和 db_ddladmin 固定數據庫角色成員且不可轉讓。

  補充參數:

  TRUNCATE TABLE name [DROP/REUSE STORAGE]

  DROP STORAGE:顯式指明釋放數據表和索引的空間
    REUSE STORAGE:顯式指明不釋放數據表和索引的空間
 
From:http://hi.baidu.com/changxiangfang/blog/item/a677e654ca79115e564e00ae.html

---------------------

本文來自 cyxlxp8411 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/cyxlxp8411/article/details/7193823?utm_source=copy 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM