Symfoware Server アプリケーション開発ガイド(埋込みSQL編) - FUJITSU - |
目次 索引 |
第2章 アプリケーションの設計 | > 2.4 トランザクションと排他制御 |
Symfoware/RDBでは、データベースの更新は、データ操作のSQL文の実行ごとに行われるのではなく、トランザクション制御用のSQL文に従って、データベースの更新が行われます。データベースの更新の単位をトランザクションと呼びます。
本節では、SQL文を使用してデータ操作を行った場合に、Symfoware/RDBが操作の内容をどのようにデータベースへ反映するかを説明します。
トランザクションは、Symfoware/RDBにより自動的に開始されます。アプリケーション中のSQL文を実行する場合、トランザクションが開始された状態でなければ、SQL文の処理に先立ってトランザクションが開始されます。トランザクションが開始されていない状態とは、アプリケーションが実行開始したあと、またはトランザクション制御用のSQL文によってトランザクションが終了したあと、SQL文が一度も実行されていない状態です。
SQL文には、トランザクションを開始しないSQL文もあります。
トランザクションを開始するSQL文
カーソル宣言以外のデータ操作文
動的カーソル宣言以外の動的SQL文
CALL文
トランザクションを開始しないSQL文
トランザクション制御文
コネクション管理文
セション管理文
埋込み例外宣言
カーソル宣言
動的カーソル宣言
資源操作文
SET USER PASSWORD文
SET ROLE文
トランザクションは、以下のSQL文を実行することによって、終了させることができます。また、アプリケーションが正常終了すると、自動的に終了します。
SQL文 |
機能 |
---|---|
COMMIT文 |
現在のトランザクションを終了します。 |
ROLLBACK文 |
現在のトランザクションを終了します。 |
注) データ操作には、挿入、更新および削除があります。
トランザクションを制御する例を以下に示します。データ操作のSQL文の実行結果は、トランザクションごとに、そのトランザクション内で処理されたデータがデータベースに反映されます。
目次 索引 |