4.5.1 TRUNCATE TABLE文の指定形式および規則
実表内のすべての行を削除します。
- 〈この項の構成〉
(1) 指定形式
TRUNCATE TABLE文::=TRUNCATE TABLE 表名
(2) 指定形式の説明
- ●表名
-
行を削除する実表の表名を指定します。表名の指定規則については,「6.1.5 名前の修飾」の「(2) 表名の指定形式」を参照してください。
なお,次の表は指定できません。
-
ビュー表
-
ディクショナリ表
-
システム表
-
- メモ
-
アーカイブマルチチャンク表を指定した場合,アーカイブ状態ではないチャンクに格納されたデータと,アーカイブ状態のチャンクに格納されたデータの両方が削除されます。
(3) 実行時に必要な権限
TRUNCATE TABLE文を実行する場合,次に示すすべての権限が必要になります。
-
CONNECT権限
-
表に対するTRUNCATE権限
(4) 規則
-
TRUNCATE TABLE文の実行時,DBエリアに対して占有モードで排他が掛かります。そのため,処理対象表および処理対象表のインデクスが格納されているDBエリア内に格納されているほかの表またはインデクスの更新中に,TRUNCATE TABLE文を実行することはできません。
-
TRUNCATE TABLE文の処理が正常終了した場合,処理完了と同時にコミットされます。そのため,TRUNCATE TABLE文の実行後にCOMMIT文を実行する必要はありません。
-
次のすべての条件を満たしている場合,TRUNCATE TABLE文がエラーになります。
-
TRUNCATE TABLE文を実行するコネクション内に,TRUNCATE TABLE文の実行対象表の検索を行うカーソルがある
-
そのカーソルがオープン中である
-
-
次のすべての条件を満たしている場合,TRUNCATE TABLE文がエラーになります。
-
JDBCドライバを使用してTRUNCATE TABLE文を実行している
-
同一コネクション内に,TRUNCATE TABLE文の実行対象となる表の検索を行うStatementオブジェクトおよびPreparedStatementオブジェクトがある
-
(5) 例題
- 例題
-
販売履歴表(SALESLIST)内の全行を削除します。
TRUNCATE TABLE "SALESLIST"