Symfoware Parallel Server RDBユーザーズガイド 応用プログラム開発編 |
目次
索引
![]() ![]() |
第7章 応用プログラムとトランザクション処理 | > 7.2 トランザクション制御の方法 |
カーソルは、一般に、トランザクション終了時にクローズされます。しかし、カーソル指定の更新可能性句がFOR READ ONLYで、トランザクションの独立性水準指定がREAD COMMITTEDの場合、トランザクションをCOMMITしても、カーソルはクローズされません。
図:トランザクションを超越するカーソル操作のSQL文の例に、トランザクションを超越するカーソル操作のSQL文の例を示します。
EXEC SQL DECLARE CSR1 CURSOR FOR (1) SELECT * FROM 取引先会社 WHERE 電話番号 LIKE :hcomp_word FOR READ ONLY; EXEC SQL SET TRANSACTION READ ONLY, (2) ISOLATION LEVEL READ COMMITTED; EXEC SQL OPEN CSR1; (3) EXEC SQL FETCH CSR1 INTO :hnumber,:hproduct,:hstock; (4) 〜 EXEC SQL COMMIT WORK; (5) EXEC SQL FETCH CSR1 INTO :hnumber,:hproduct,:hstock; (6) 〜 (データの終了) EXEC SQL CLOSE CSR1; (7) |
(1) カーソル“CSR1”を宣言します。
(2) トランザクションアクセスモードに“READ ONLY”を設定します。独立性水準に“READ COMMITTED”を設定します。
(3) カーソル“CSR1”をオープンします。
(4) 入力した市外局番と等しい市外局番の行にカーソルを位置づけ、その行を読み込みます。
(5) COMMITによりトランザクションを終了します。
(6) (5)でカーソルがクローズされないため、カーソルを位置づけることができます。
(7) データ終了後、カーソル“CSR1”をクローズします。
目次
索引
![]() ![]() |