プライマリ・コンテンツに移動
SQL*Plus®ユーザーズ・ガイドおよびリファレンス
リリース1 (12.1)
B71396-03
目次へ移動
目次
索引へ移動
索引

前
次

SET AUTO[COMMIT]{ON | OFF | IMM[EDIATE] | n}

SQLまたはPL/SQLコマンドの後、データベースに対する保留中の変更がOracle Databaseによってコミットされる時点を制御します。

ONを指定すると、Oracle DatabaseによってINSERT、UPDATE、DELETEまたはPL/SQLブロックがそれぞれ正常に実行された後で、データベースに対する保留中の変更がコミットされます。OFFを指定すると、自動コミットされないため、手動で(たとえば、SQLコマンドのCOMMITを使用して)変更をコミットする必要があります。IMMEDIATEを指定すると、ONと同じ機能が得られます。nを指定すると、Oracle Databaseによってn個のSQL INSERT、UPDATE、DELETEの各コマンドまたはPL/SQLブロックが正常に実行された後で、データベースに対する保留中の変更がコミットされます。nは、0(ゼロ)以上2,000,000,000未満である必要があります。文カウンタは、n個のINSERT、UPDATE、DELETEコマンドまたはPL/SQLブロック、コミット、ロールバックまたはSET AUTOCOMMITコマンドの完了後、0(ゼロ)にリセットされます。

SET AUTOCOMMITでは、コミットの動作はSQL*Plusの終了時には変更されません。コミットされていないデータは、デフォルトでコミットされます。

注意:

この機能の場合は、実際に含まれているSQLコマンドの数に関係なく、1つのPL/SQLブロックが1つのトランザクションとみなされます。