Symfoware Server アプリケーション開発ガイド(埋込みSQL編) - FUJITSU -
目次 索引 前ページ次ページ

第2章 アプリケーションの設計> 2.4 トランザクションと排他制御

2.4.1 トランザクション制御の概要

Symfoware/RDBでは、データベースの更新は、データ操作のSQL文の実行ごとに行われるのではなく、トランザクション制御用のSQL文に従って、データベースの更新が行われます。データベースの更新の単位をトランザクショと呼びます。

本節では、SQL文を使用してデータ操作を行った場合に、Symfoware/RDBが操作の内容をどのようにデータベースへ反映するかを説明します。

■トランザクションの開

トランザクションは、Symfoware/RDBにより自動的に開始されます。アプリケーション中のSQL文を実行する場合、トランザクションが開始された状態でなければ、SQL文の処理に先立ってトランザクションが開始されます。トランザクションが開始されていない状態とは、アプリケーションが実行開始したあと、またはトランザクション制御用のSQL文によってトランザクションが終了したあと、SQL文が一度も実行されていない状態です。

SQL文には、トランザクションを開始しないSQL文もあります。

■トランザクションの終

トランザクションは、以下のSQL文を実行することによって、終了させることができます。また、アプリケーションが正常終了すると、自動的に終了します。

[表:トランザクションを制御するSQL文]

SQL文

機能

COMMIT文

現在のトランザクションを終了します。
トランザクション内でのデータ操作(注)をすべてデータベースに反映します。
トランザクション内で獲得したロックをすべて解放します。

ROLLBACK文

現在のトランザクションを終了します。
トランザクション内でのデータ操作(注)はすべて取り消します。
トランザクション内で獲得したロックをすべて解放します。

注) データ操作には、挿入、更新および削除があります。

■トランザクションを制御する例

トランザクションを制御する例を以下に示します。データ操作のSQL文の実行結果は、トランザクションごとに、そのトランザクション内で処理されたデータがデータベースに反映されます。

[図:データベースの更新処理]


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007-2008