データベース千夜一夜第26回

トランザクションの管理(2)~プログラミングとトランザクション管理 長谷川裕行
有限会社 手國堂

明示的にトランザクションを開始し、処理をコミット(確定)またはロールバック(取消)する仕組みを、簡単なアプリケーションを例にプログラミング言語のレベルで試してみましょう。

トランザクションを明示的に管理すると、エラー発生やユーザーの都合などで処理を取り消すことができます。但し、なんでもかんでも闇雲に明示的なトランザクション管理を適用する必要はありません。アプリケーションの使われ方を踏まえ、必要な箇所でのみ用いることが大切です。


サンプル・データベースとサンプル・アプリケーションの扱いについて
第9回以降、新しいサンプル・データベースを使っているのでご注意ください。新しいサンプル・データベースの登録方法については、第9回の記事から「新しいサンプルデータベースの準備」の項をお読みください。

なお、今回はテーブルの内容を書き換えるSQLを実行するため、テーブル「商品_mr」と同じ内容を持つ「商品_dmy」を使用します。現在のサンプルデータベースにこのテーブルが存在しない場合は、クエリマネージャで今回のサンプルに含まれているクエリファイル「商品_dmy新規作成.sql」を実行して作成してください。

既に「商品_dmy」が存在するものの、その内容が書き換えられていて「商品_mr」と同じでない場合は、同じく今回のサンプルに含まれているクエリファイル「商品_dmy削除・作成.sql」を実行してください。



- 目次 -
明示的なトランザクション管理
自動的なトランザクション
明示的トランザクションの必要性
条件判断と分岐で対処
元に戻せることが重要
トランザクション管理のサンプル
削除後に取り消せる
Ifで確定/取消に分岐
変数を使う方が合理的
複雑なトランザクション管理
セーブポイント
トランザクションのネスト
あとがき
長谷川 裕行 (はせがわ ひろゆき)
有限会社 手國堂 代表取締役  http://www.hirop.com/

大阪芸術大学 写真学科講師。フリーライター。日経ソフトウェアなどに連載。
『ソフトウェアの20世紀』、『独習SQL』など著書多数。

Copyright © MESCIUS inc. All rights reserved.