Databaseに対してトランザクション制御文を発行することができます。ここではトランザクション制御文のうち、変更を確定するCOMMITと変更を取り消すROLLBACKを取り上げます。OBでトランザクション制御文を発行する方法としては以下の2つの方法があります。Browserにおいて等価ですが、より手軽なのは2の方法でしょう。OBには、通常は明示的に発行しなければならないCOMMITを自動で発行する機能があります。これについては後述します。COMMITボタン(円)とROLLBACKボタン(矢印)COMMITとROLLBACKの対象COMMITとROLLBACKは、主に下記のSQL文によるテーブルへの変更を確定、あるいは取り消すために使用します。(上記以外にもDML文は存在します)。OBにおいては、データタブでテーブル等のデータを編集した場合に、操作に対応するSQL文(INSERT、UPDATE、DELETE)を発行しています。これらのSQL文は、実行したのみでは変更が確定されず、COMMITを実行してはじめて変更が確定します。COMMITを実行する前であれば、ROLLBACKボタンで変更を取り消すことができます。実行した場合、そのSQL文を実行した時点で暗黙的にCOMMITが発行されますので、ROLLBACKでそれ以前の状態に戻ることはできなくなります。Oracleにおいても、テーブルの作成や削除、列名変更等を行ったときは、その時点で内部的にDDL文が発行され、処理が行われます。ROLLBACKボタンでこれらの操作を元に戻すことはできません。自動COMMITを有効化・無効化するOBで行ったデータの編集(追加、変更、削除)時のトランザクションを自動で確定したい場合「オプション」画面から「データ編集時に自動的にCOMMITする」のチェックをONにします。「データ編集時に自動的にCOMMITする」のチェックをONにしておくことで、例えばデータ編集エリアでデータを編集したときにその変更が即座にデータベースに反映されるようになります。操作が必要となる場面ではOFFにしておくことをおすすめします。上記の設定にかかわらず、OBで操作を実行し、COMMITする前にデータベース切断を行ったり、OBを終了したりした場合は、COMMITが自動的に実行されます。通常の終了処理を経ずにOBを強制終了したときや、OBとデータベースが予期せず切断された際、最後のCOMMIT以降の変更は失われます。(本記事の趣旨とは外れますが、上記のような場合はデータベース側にOBのセッションが残ってしまうためセッション情報画面等を用いて、手動でセッションを終了させる必要があります。セッション情報を確認しよう)まとめOBでトランザクション制御がどのように働くかを説明いたしました。ここまでの説明はあくまでOB上の操作を念頭に置いた説明ですので、トランザクションについて詳細に知りたい方は、Oracleの公式資料や技術系サイト等を検索してみると良いでしょう。部署配属などで新しくOBに触れた方もいらっしゃるかと思いますが、データベースの理解を深めるとともに、OBをうまく活用していただければ幸いです。Oracleの基本」を公開しておりますので、よろしければそちらもご利用ください。