Hitachi

Hitachi Advanced Data Binder SQLリファレンス


4.5.1 TRUNCATE TABLE文の指定形式および規則

実表内のすべての行を削除します。

〈この項の構成〉

(1) 指定形式

TRUNCATE TABLE文::=TRUNCATE TABLE 表名

(2) 指定形式の説明

表名

行を削除する実表の表名を指定します。表名の指定規則については,「6.1.5 名前の修飾」の「(2) 表名の指定形式」を参照してください。

なお,次の表は指定できません。

  • ビュー表

  • ディクショナリ表

  • システム表

メモ

アーカイブマルチチャンク表を指定した場合,アーカイブ状態ではないチャンクに格納されたデータと,アーカイブ状態のチャンクに格納されたデータの両方が削除されます。

(3) 実行時に必要な権限

TRUNCATE TABLE文を実行する場合,次に示すすべての権限が必要になります。

(4) 規則

  1. TRUNCATE TABLE文の実行時,DBエリアに対して占有モードで排他が掛かります。そのため,処理対象表および処理対象表のインデクスが格納されているDBエリア内に格納されているほかの表またはインデクスの更新中に,TRUNCATE TABLE文を実行することはできません。

  2. TRUNCATE TABLE文の処理が正常終了した場合,処理完了と同時にコミットされます。そのため,TRUNCATE TABLE文の実行後にCOMMIT文を実行する必要はありません。

  3. 次のすべての条件を満たしている場合,TRUNCATE TABLE文がエラーになります。

    • TRUNCATE TABLE文を実行するコネクション内に,TRUNCATE TABLE文の実行対象表の検索を行うカーソルがある

    • そのカーソルがオープン中である

  4. 次のすべての条件を満たしている場合,TRUNCATE TABLE文がエラーになります。

    • JDBCドライバを使用してTRUNCATE TABLE文を実行している

    • 同一コネクション内に,TRUNCATE TABLE文の実行対象となる表の検索を行うStatementオブジェクトおよびPreparedStatementオブジェクトがある

(5) 例題

例題

販売履歴表(SALESLIST)内の全行を削除します。

TRUNCATE TABLE "SALESLIST"