PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
5647 | 99/03/26 12:48:09 | RE(2):PB6.5: ORACLE8での行ロックの動的な解除について By ayuko |
5631 | 99/03/25 18:42:30 | RE(1):PB6.5: ORACLE8での行ロックの動的な解除について By Taka |
5615 | 99/03/25 12:43:33 | PB6.5: ORACLE8での行ロックの動的な解除について By ayuko |
カテゴリ:データベース
日付:1999年03月25日 12:43 発信者:ayuko
題名:PB6.5: ORACLE8での行ロックの動的な解除について
クラサバのアプリを開発しています。行ロックの指定は
dw_input.Object.Datawindow.Table.Select =
dw_input.Object.Datawindow.Table.Select+ \"FOR UPDATE NOWAIT\" というようにソースで行ってい
るんですが、行ロックの解除を rollback(to savepointを含む)、commitによらずに可能でしょうか。
ここでもう関連して1つ質問なのですが
基本的なPGの作りの問題だとおもうのですが。例えば商品在庫管理のPGにおいて
キー部で伝票番号を指定し、データ部1行ごとに商品、出荷数、在庫残数を表示する。(この行は複数行ある)
というような画面だとします。ここで商品、出荷数を入力するわけですが。在庫残数を正確に表示するために商品を
入力した段階で商品に対してロックをかけます。但し商品を上書き入力した場合は前の商品のロックをはずし、新しい
商品に対してロックをかける。といったような作りなのですが、これでは商品が複数行あるとRollback to savepoint
によるロック解除は不可能となります。
クラサバにおいて上記のような作りは(在庫残数を正確に表示しなければならないために、商品入力時にロックをかけ
てしまうという作り)一般的におかしいのではないかと思い始めています。
登録ボタンを押下の場合に行ロックをかけ、その時に在庫残数を再度チェックするという方法の方が妥当なのでしょうか
PGの作りの質問になりますが、みなさんの意見を参考にしたいと思っていますのでよろしくおながいします。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.