天天看點

第二章 SQL指令參考-TRUNCATE

TRUNCATE

Empties a table of all rows.

概要

TRUNCATE[TABLE] name [,...] [CASCADE | RESTRICT]

描述

TRUNCATE快速删除一個表或一組表中的所有行。 它與每個表格上的非限定條件具有相同的效果,但由于它實際上并不掃描表格,是以速度更快。 這在大型表格上最有用。

您必須在表上具有TRUNCATE特權才能截斷表行。

parameter

name

要截斷的表的名稱(可以是模式修飾的)。

CASCADE

由于該關鍵字适用于外鍵引用(Greenplum資料庫不支援),是以不起作用。

RESTRICT

由于該關鍵字适用于外鍵引用(Greenplum資料庫不支援),是以不起作用。

Notes

TRUNCATE不會運作任何使用者定義上可能存在的表的DELETE觸發器。

TRUNCATE不會截斷指定表中繼承任何表。隻有指定的表将被截斷,而不是它的子表。

TRUNCATE不會截斷分區表的任何子表。如果指定了分區表的一個子表,TRUNCATE不會從子表及其子表中删除行。

示例

Empty the table films:

TRUNCATE films;

相容性

There is no truncate command in the SQL standard.

相關參考

DELETE, DROP TABLE