ページの先頭行へ戻る
Symfoware Server V10.0.0 アプリケーション開発ガイド(共通編)

1.1.2 トランザクションの終了方法

トランザクションの終了方法には、以下の3つの方法があります。

COMMIT文によるトランザクションの終了

COMMIT文は、トランザクションの区切りを指定するSQL文です。COMMIT文により行われる処理は、以下のとおりです。

前に実行したCOMMIT文またはROLLBACK文以後、当該COMMIT文までに行ったデータベースの処理をデータベースに反映します。次に、現在のトランザクションを終了します。一度もCOMMIT文またはROLLBACK文を実行していない場合は、アプリケーションの実行開始から当該COMMIT文までのデータベースの処理をデータベースに反映します。

COMMIT文の形式を以下に示します。

COMMIT WORK

COMMIT文によるデータベース更新の例を以下に示します。

図1.3 COMMIT文によるデータベース更新の例

ROLLBACK文によるトランザクションの終了

ROLLBACK文は、トランザクション内で行ったデータベースの処理を取り消すためのSQL文です。ROLLBACK文により行われる処理を以下に示します。

前に実行したCOMMIT文またはROLLBACK文実行以後、当該ROLLBACK文までに行ったデータベースの処理を取り消します。次に、現在のトランザクションを終了します。一度もCOMMIT文またはROLLBACK文を実行していない場合は、アプリケーションの実行開始から当該ROLLBACK文までのデータベースの処理を取り消します。

ROLLBACK文の形式を以下に示します。

ROLLBACK WORK

ROLLBACK文によるトランザクション取消しの例を以下に示します。

図1.4 ROLLBACK文によるトランザクション取消しの例

アプリケーションの終了によるトランザクションの終了

アプリケーションがトランザクション開始状態のままCOMMIT文もROLLBACK文も実行せずに終了する場合には、Symfoware/RDBがトランザクションをロールバックします。

トランザクションが開始状態のままアプリケーションが終了する例を以下に示します。

図1.5 トランザクション開始状態でのアプリケーションの終了の例