| 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”をクローズします。
目次
索引
![]()
|