PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
12569 00/08/02 17:19:34 RE(1):PB7.0: レコードロックの共通関数 By てとらぽっと
12555 00/08/02 15:01:25 PB7.0: レコードロックの共通関数 By ponta20

カテゴリ:スクリプトの記述
日付:2000年08月02日 17:19 発信者:てとらぽっと
題名:RE(1):PB7.0: レコードロックの共通関数

ponta20さん、こんにちは。
DBに関わることですので、RDBMSの種類とバージョンも明記してください。
文法から Oracle と推測されますので、そのつもりで回答します。

>DBのレコードロックを行う共通関数を作成したいと思います。
>引数はテーブル名、検索条件をもらい、結果をINTEGER型で返そうと思います。
(略)
>ls_sql = \"SELECT * FROM \" + ls_tblname + \" WHERE \" + ls_where + \" FOR UPDATE NOWAIT\"
(略)
>さて、オンラインヘルプには動的SQL構文として4つに分けられて
>いましたが、select?for updateのSQLは上記の通りでよいので
>しょうか。一応、値を返すSQLという扱いでいいのでしょうか。

SELECT句でデータを問い合わせているわけですから、
「値を返すSQL」です。

入力パラメータは、検索引数を使わずWHERE句に直接書き込むとすれば不要ですし、
結果集合カラムの内容も \"*\" などとせずに ROWID を読めば判明しますので、
【書式 3】が使えるものと思われます(未検証ですが)。


差し出がましいかもしれませんが、
こんな面倒なことをしなくても、各自DWでロックすれば良いと思いますし、
共通関数にするにしてもデータストアを使った方が楽ですね。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows98
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

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