TRUNCATE TABLE 文を使用すると、テーブルにあるすべてのローを簡単に削除できます。この方法は、条件を指定しない DELETE 文よりもすばやく処理できます。これは、DELETE 文が各変更のログを取るのに対し、TRUNCATE 文では個々のローの削除が記録されないためです。
DROP TABLE 文を実行しないかぎり、TRUNCATE TABLE 文によって空になったテーブルの定義は、インデックスや他の関連オブジェクトとともにデータベースに残されます。
他のテーブルに参照整合性制約で参照するローがあると、TRUNCATE TABLE 文を使用できません。外部テーブルからローを削除するか、外部テーブルをトランケートしてからプライマリ・テーブルをトランケートします。
ベース・テーブルのトランケート操作またはバルク・ロードの実行操作を行うことにより、インデックス (通常のインデックスまたはテキスト・インデックス) 内と従属マテリアライズド・ビュー内のデータが古くなります。最初にインデックスや従属したマテリアライズド・ビューのデータをトランケートし、INPUT 文を実行してから、インデックスとマテリアライズド・ビューを再構築または再表示してください。TRUNCATE 文とTRUNCATE TEXT INDEX 文を参照してください。
TRUNCATE TABLE 文の構文は次のとおりです。
TRUNCATE TABLE table-name
たとえば、SalesOrders テーブルのすべてのデータを削除するには、次のように入力します。
TRUNCATE TABLE SalesOrders; |
TRUNCATE TABLE 文はテーブルで定義されたトリガを呼び出しません。
次の ROLLBACK 文を入力して、データベースのこれらの変更をキャンセルしてください。
ROLLBACK; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |