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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.