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 (記載なし)

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