
スポンサーリンク
データベース管理ツールとして広く利用されている A5:SQL Mk-2(通称A5M2) には、開発者やDBAにとって便利な機能が多数搭載されています。テーブルの参照、SQL実行、ER図作成など、あらゆるシーンで活用できる強力なツールですが、特に注意したいのが トランザクション管理 に関する設定です。
その中でも重要なのが オートコミットの有効/無効設定 であり、誤ったまま作業を進めるとデータが即座に確定してしまい、後戻りできなくなる可能性があります。 本記事では、A5M2で オートコミットを無効にする方法 を詳しく解説します。オートコミットに関する設定を理解しておくことで、より安全にデータベース運用ができるようになります。
データベースのオートコミットとは?
データベースのオートコミットとは、SQL文(INSERT/UPDATE/DELETE など)を実行した際に、自動的に COMMIT
が発行され、データベースに反映されるモードです。これが有効になっている場合、たとえ小さな変更でも即座に確定してしまいます。
- メリット:明示的に
COMMIT
を入力する必要がないため、手間が省ける。開発・検証で効率的。 - デメリット:誤って更新や削除をしてしまった場合に、取り消し(ROLLBACK)が不可能になる。
つまり、スピード重視の開発環境では有用だが、本番環境では大きなリスクになります。そのため、重要な操作時や運用時にはオートコミットを無効化して、手動でトランザクションを制御するのが一般的です。
A5M2でオートコミットを無効にする手順
確認した環境
- Windows 11 Home
- A5:SQL Mk-2 Version 2.20.4(x64 edition)
- Oracle Database 19c
A5M2起動・対象データベースに接続
A5M2を起動し、対象データベースに接続します。
スタートメニューから起動する場合はa5:SQL Mk-2
を検索窓に入力します。
キャプチャではデフォルトワークスペースを選択して起動を押下しました。(環境に合わせて読み替えてください)
データベースを選択します。キャプチャでは「oracle database 19c」をダブルクリックで選択します。
「読み取り専用でログイン」のチェックを外し、「接続」ボタンを押下します。
A5M2でオートコミット解除設定をする
メニューバーから 「設定」 > 「オプション」 を開きます。
オプションの 「データベース接続」 タブを選択します。
以下チェックボックスをチェックし、「OK」ボタンを押下します。
☑ データベースの更新時に自動的にトランザクションを開始する(コミット/ロールバックはユーザによる手動操作となります)☑ プロシージャを実行時に自動的にトランザクションを開始する(コミット/ロールバックはユーザによる手動操作となります)☑ トランザクションのコミット時に確認する☑ トランザクションロールバック時に確認する
オートコミット解除後の動作確認
オートコミット解除後の動作確認をします。
キャプチャでは、customersテーブルにINSERTする際に、トランザクションが開始されることを確認します。現在は1件のデータが登録されている状態です。
INSERT文を実行します。
「トランザクションの管理」ボタンが赤枠で点滅することを確認してください。
コミット前に再度SELECT文を実行して登録データが正しいことを確認します。
登録データに問題がなければ画面左上の「トランザクションの管理」ボタンより、コミット(☑)、問題ある場合はロールバック(×)を選択します。
キャプチャではコミット(☑)を選択しました。
確認ダイアログが表示されるので、問題なければ「OK」ボタンを押下します。
以上でコミットが完了し、テーブルのデータ追加が確定しました。
動作確認で利用したSQL
本記事の解説用に利用したテーブル・SQLは以下の通りです。
CREATE TABLE customers ( customer_id NUMBER(5) PRIMARY KEY, customer_name VARCHAR2(100) NOT NULL, email VARCHAR2(100), phone VARCHAR2(20), created_at DATE DEFAULT SYSDATE);
select * from customers;
-- サンプルデータINSERT INTO customers (customer_id, customer_name, email, phone)VALUES (1, '田中 太郎', 'taro.tanaka@example.com', '090-1111-2222');
INSERT INTO customers (customer_id, customer_name, email, phone)VALUES (2, '鈴木 花子', 'hanako.suzuki@example.com', '080-3333-4444');
A5M2オートコミット無効化まとめ
- オートコミットは便利だが、誤ったデータを即時反映させるリスクもある機能である
- A5M2では、「オプション>データベース設定」から簡単に無効化できる
- 特に本番環境ではオートコミットを無効にして、COMMIT/ROLLBACKを明示的に行う運用が推奨される
- トランザクション管理を徹底することで、誤操作によるデータ損失や不整合を未然に防ぐことが可能
データベース操作の安全性を高めるためには、日常的にオートコミットの状態を確認し、適切に設定することが欠かせません。ぜひこの記事を参考に、A5M2での作業効率と安全性を両立させてください。
以上で本記事の解説を終わります。
よいITライフを!