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

第3章 プロシジャを利用する応用プログラムの作成方法

3.6 プロシジャルーチン利用時のトランザクション

ここでは、プロシジャルーチン利用時のトランザクションについて説明します。トランザクション制御の詳細については、“応用プログラムとトランザクション処理”を参照してください。

プロシジャルーチンは、呼出し元の応用プログラムと同一トランザクションとして動作します。応用プログラムから呼び出されたプロシジャルーチン内でトランザクション管理文(COMMIT文またはROLLBACK文)が実行された場合、プロシジャルーチンが実行されているトランザクションを終了します。その後、プロシジャルーチン内でトランザクションを開始するSQL文が実行された場合、プロシジャルーチン内で新しいトランザクションが開始されます。(トランザクションモードは前トランザクションと同一です。)開始されたトランザクションは、呼出し元の応用プログラムにも継続されます。ただし、以下のような状態で呼び出されるプロシジャルーチンでは、トランザクション管理文の実行はエラーとなります。

また、トランザクション管理文を使用するプロシジャルーチンは、以下の状態で呼び出すことはできません。

プロシジャルーチン内のSQL文の実行でエラーが起きた場合は、エラーを起こしたSQL文が無効となります。ただし、SQLSTATE値の例外コードの先頭が40の場合は、トランザクションをロールバックします。

プロシジャルーチン内でのSQL文の実行時には、動作環境ファイルのTRAN_SPECの指定は無効ですが、応用プログラムに復帰した後は、TRAN_SPECの指定に従って制御されます。


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

All Rights Reserved, Copyright(C) 富士通株式会社 2006