PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
1346 | 98/04/25 01:43:11 | RE(7):FOR UPDATE(ORACLE限定)をつかったこともあります By Angel |
1345 | 98/04/24 19:07:33 | RE(6):FOR UPDATE(ORACLE限定)をつかったこともあります By aki |
1333 | 98/04/24 09:13:08 | RE(5):FOR UPDATE(ORACLE限定)をつかったこともあります By てとらぽっと |
1328 | 98/04/23 16:18:30 | RE(4):一覧画面におけるトランザクション処理について By aki |
1318 | 98/04/23 11:24:24 | RE(3):一覧画面におけるトランザクション処理について By まこと |
1315 | 98/04/23 09:31:46 | RE(2):詳細画面をポップアップさせて、その都度読み直す By てとらぽっと |
1311 | 98/04/22 22:15:14 | RE(1):一覧画面におけるトランザクション処理について By aki |
1308 | 98/04/22 15:35:09 | 一覧画面におけるトランザクション処理について By まこと |
カテゴリ:旧電子会議室
日付:1998年04月23日 11:24 発信者:まこと
題名:RE(3):一覧画面におけるトランザクション処理について
akiさん おはようございます。
>このことは、排他制御をどのレベルまで考えるかによるとおもいます。
>もし、プライマリキーを除くすべてのカラムに対し次々と更新かけたものをすべて可とするので
>あれば、DWの更新方法を「キーカラムのみ」にする事で更新は可能になります。
>#プライマリキーの変更はもちろん論外ですが
基本的な質問ですみませんが、教えて下さい。(^^;)
「キーカラムのみ」を選択する時とは、どのようなソフト作成や画面に有効なのでしょうか?
「キーカラムと更新可能カラム」でないと、登録の判断ミスや作業者間の認識にズレが生じると思います。
>この場合、”検索と更新の間に行が挿入されました”というメッセージが出てしまうのは、自分
>より先に誰かが更新しCOMMITしてしまったためですから、この段階ではすでに占有という状態
>はクリアされてしまっています。
そうでした。(^^;)
>どうしてもデータ入力を無駄にしたくないとすれば、排他制御のロックレベルを行単位にし、
>SELECTする前に明示的に排他開始を宣言する必要があると思います。
おっしゃる通り、変更された行を確認しながら、1行ずつupdate()で確認しないといけないと思います。
で、更新できたものはcommitし、更新できなかった行はRollBackして色変更し表示したい。
●一覧で、排他制御のロックレベルを行単位にするって事はできるんですか?
・・update()って、更新する行を指定できないですよね?
(できる事があるとしたら、更新できなかった時は変更した行のみを、色変更するぐらいかな?)
>もし、入力項目のフォーカスが変わったたびにチェックするとすると、そのたびにSELECTし、
>更に内容の差分をチェックするぐらいのことをしなければならないと思います。
それは・・ したくないなあ。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS (記載なし)
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.