Symfoware(R) Server RDBユーザーズガイド 応用プログラム開発編 - FUJITSU -
目次 索引 前ページ次ページ

上へ第7章 応用プログラムとトランザクション処理

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

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

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

■トランザクションの開

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

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

■トランザクションの終

トランザクションは、表:トランザクションを制御するSQL文のSQL文を実行することによって、終了させることができます。また、応用プログラムが正常終了すると、自動的に終了します。

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

SQL文

機能

COMMIT文

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

ROLLBACK文

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

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

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

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

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

image


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

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