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

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