メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

TRUNCATE

テーブルをスキャンせずに、テーブルからすべての行を削除します。この操作は無条件の DELETE 操作に対する代替案ですが、より高速です。TRUNCATE コマンドを実行するには、テーブルの所有者またはスーパーユーザーである必要があります。

構文

Copy
TRUNCATE [ TABLE ] table_name

パラメーター

TABLE

オプションキーワード

table_name

一時テーブルまたは永続的テーブルテーブルの所有者またはスーパーバイザだけがテーブルを切り取ることができます。

外部キー拘束で参照されるテーブルなど、任意のテーブルを切り取ることができます。

テーブルを切り取った後、テーブルに対して ANALYZE コマンドを実行してください。テーブルを切り取った後、テーブルに対して VACUUM を実行する必要はありません。

使用に関する注意事項

TRUNCATE コマンドは、コマンドが実行されたトランザクションを確定します。したがって、TRUNCATE 操作をロールバックすることはできません。

Copy
truncate category;
TRUNCATE コマンドを使って、CATEGORY テーブルからすべての行を削除します。

TRUNCATE 操作のロールバック試行:

Copy
begin; truncate date; rollback; select count(*) from date; count ------- 0 (1 row)
TRUNCATE コマンドにより自動的に確定したため、ROLLBACK コマンドを実行しても DATE テーブルは空のままです。