【A5M2】オートコミット設定を無効にする方法

【A5M2】オートコミット設定を無効にする方法

当ページのリンクには広告が含まれています。

記事の文字数:1986

A5:SQL Mk-2(A5M2)は、開発者にとって欠かせない高機能なデータベース管理ツールです。本記事では、オートコミットの設定を無効にする方法を詳しく解説します。誤操作によるデータ損失を防ぎ、安全にデータベースを運用できるようになりましょう。


スポンサーリンク

データベース管理ツールとして広く利用されている 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を検索窓に入力します。

alt text

キャプチャではデフォルトワークスペースを選択して起動を押下しました。(環境に合わせて読み替えてください)

alt text

データベースを選択します。キャプチャでは「oracle database 19c」をダブルクリックで選択します。

alt text

「読み取り専用でログイン」のチェックを外し、「接続」ボタンを押下します。

alt text

A5M2でオートコミット解除設定をする

メニューバーから 「設定」 > 「オプション」 を開きます。

alt text

オプションの 「データベース接続」 タブを選択します。

alt text

以下チェックボックスをチェックし、「OK」ボタンを押下します。

☑ データベースの更新時に自動的にトランザクションを開始する(コミット/ロールバックはユーザによる手動操作となります)
☑ プロシージャを実行時に自動的にトランザクションを開始する(コミット/ロールバックはユーザによる手動操作となります)
☑ トランザクションのコミット時に確認する
☑ トランザクションロールバック時に確認する

オートコミット解除後の動作確認

オートコミット解除後の動作確認をします。
キャプチャでは、customersテーブルにINSERTする際に、トランザクションが開始されることを確認します。現在は1件のデータが登録されている状態です。

alt text

INSERT文を実行します。

alt text

「トランザクションの管理」ボタンが赤枠で点滅することを確認してください。

alt text

コミット前に再度SELECT文を実行して登録データが正しいことを確認します。

alt text

登録データに問題がなければ画面左上の「トランザクションの管理」ボタンより、コミット(☑)、問題ある場合はロールバック(×)を選択します。
キャプチャではコミット(☑)を選択しました。

alt text

確認ダイアログが表示されるので、問題なければ「OK」ボタンを押下します。

alt text

以上でコミットが完了し、テーブルのデータ追加が確定しました。

alt text

動作確認で利用した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ライフを!
Scroll to Top