PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
13540 00/10/13 13:33:46 RE(2):PB6.5: UPDATE関数の更新フラグについて By snow
13529 00/10/12 18:55:18 RE(1):PB6.5: UPDATE関数の更新フラグについて By Mika★
13525 00/10/12 16:13:42 PB6.5: UPDATE関数の更新フラグについて By snow

カテゴリ:データウィンドウ
日付:2000年10月12日 18:55 発信者:Mika★
題名:RE(1):PB6.5: UPDATE関数の更新フラグについて

snowさん、こんばんは。

>(トランザクション開始)
>dw_1.update(TRUE,FALSE)     <-成功
>dw_2.update(TRUE,FALSE)     <-失敗

>// dw_2の更新が失敗した為
>rollback;

>となると思うのですが、
>dw_1.update(TRUE,TRUE)
>dw_2.update(TRUE,TRUE)
>とした場合とどう違うのでしょうか。

後者の場合だと
dw_1の更新に成功すると、自動的に更新フラグが全てリセットされ
全ての行・カラムのステータスがNotModified!になってしまいます。
その後、dw_2の更新に失敗してROLLBACKし
失敗と思われる箇所を修正して、再度更新処理をしようとしても
dw_1は、全てのステータスがNotModified!になってしまっていますから
dw_1の分に関しては、データベースへの更新は全く行われずに
dw_2の分のみ、更新されることになり
データの不整合が生じることにもなり得ます。

前者の場合は、dw_1, dw_2ともに更新に成功したら
COMMIT後に、ResetUpdate関数により、手動で更新フラグをリセットします。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Sybase Open Client/C 10
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Sybase SQL Server System 11
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.