PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
9383 | 99/11/24 11:14:17 | RE(7):PB7.0: ストアドプロシージャの呼び出しにつきまして By peko |
9382 | 99/11/24 10:06:55 | RE(6):PB7.0: ストアドプロシージャの呼び出しにつきまして By てとらぽっと |
9381 | 99/11/24 09:42:12 | RE(5):PB7.0: ストアドプロシージャの呼び出しにつきまして By peko |
9380 | 99/11/24 09:36:21 | RE(4):PB7.0: ストアドプロシージャの呼び出しにつきまして By peko |
9378 | 99/11/24 09:03:41 | RE(3):PB7.0: ストアドプロシージャの呼び出しにつきまして By てとらぽっと |
9377 | 99/11/24 08:40:43 | RE(2):PB7.0: ストアドプロシージャの呼び出しにつきまして By peko |
9365 | 99/11/22 17:38:42 | RE(1):PB7.0: ストアドプロシージャの呼び出しにつきまして By Taka |
9362 | 99/11/22 16:25:33 | PB7.0: ストアドプロシージャの呼び出しにつきまして By peko |
カテゴリ:スクリプトの記述
日付:1999年11月24日 10:06 発信者:てとらぽっと
題名:RE(6):PB7.0: ストアドプロシージャの呼び出しにつきまして
pekoさん、おはようございます。
>ただ、グローバル外部関数に宣言して、データウィンドウのRetrieverowイベントにて
>以下の記述をしたところ、エラーメッセージ\"関数が参照できませんでした\"となり
>実行できません。
>(記述内容)
>variable = conv_old_bumon(seikyumoto)
>
>ひょっとして、Retrieverowイベントでは記述できないのでしょうか。
いえ、このメッセージが出るのは、関数の実態がどこにあるか見つからないという意味で、
宣言されている関数はどのイベントからでも呼べるはずです。
>>外部関数の関数宣言は、
>>オブジェクト(Transactionオブジェクトが望ましい)をデザインするペインタの
>>[宣言] メニューから、[グローバル外部関数] か [ローカル外部関数] で宣言するんですよ。
という一般論的な回答をしてしましたが、
【DBMS の関数】を宣言するときは、
【Transactionオブジェクトのローカル外部関数】でなければならない
ような気がしてきました。
オンラインブックの「外部関数の宣言」あたりを確認してください。
(このTransactionうんぬんの宣言方法については過去ログにあったはずです。)
まずは宣言が解決してから考えてもらったほうがいいのですが、
Retrieverowイベントでストアドプロシージャを呼び出すなんて
パフォーマンスが悪くありません?
SELECT文で取ってきた結果に処理をかけるんだと推測しますが、
SELECT文にストアドプロシージャを埋め込めこんで、処理をかけた後の結果を取るほうが
SQL文の発行が少なくトランザクションが少ないですし、
無駄にRetrieverowイベントを引き起こす必要もありません。
ストアドプロシージャは何度も呼び出すと(パッケージに比べて)サーバの負荷にもなります。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.