PB 電子会議室
カテゴリ:データベース
日付:1999年01月28日 17:50 発信者:リエッチ
題名:RE(9):PB6: ストアドプロシージャについて基本的な事を教えて下さい。
まことさん、こんにちは。あ、こんばんわ、か? 再びリエッチです
> というのも、パッケージには戻り値がないようです。
> ファンクション内に、複数のファンクションを組み込むのでしょうか?
あ、パッケージでも戻り値を指定できます。
私が勘違いしているのかな (^o^;
例えば、PBからパッケージ内のプログラムを呼び出す以下の処理があったとします。
DECLARE C_PROCESS_2 PROCEDURE FOR DJ_PKG_MEIBO.DJB00050(:GS_USER_ID)
USING ORATRANS;
EXECUTE C_PROCESS_2;
FETCH C_PROCESS_2 INTO :ll_rtn;
CLOSE C_PROCESS_2;
この様に戻り値を取得できます。
※ただし、上記の「DJB00050」の処理は「DJ_PKG_MEIBOパッケージ」内の「仕様部」に
宣言しないと認識されません。
> また、先に述べたようにサーバと別々に動作するなら、ファンクション終了前にPB側で次の作業が
>行われたりしませんか?(例えば、ファンクション動作中に実績値を入力してコミットされるとか)
あ、ごめんなさい。上記の様にPBから普通に、ストアドを実行するとPBはストアドが終了するまで
作業できなくなります。実行元のクライアントは「無反応」のような状態になるんです
まことさんが、おっしゃっているような「サーバと別々の動作」をするためには
プロキシなどの分散系の処理?(ここいらへんはよく分からないんです)が必要となるみたいです
> 自分で確かめれると良いのですが、しばらくかかりそうです。
>(コンパイルって、\"create function 関数名(・・)\"の事ですか? )
いえいえ、「SQL/plus」からストアドやパッケージをコンパイルする事を言っています
もちろん関数もそうですが・・
そのときにストアドが「50個」あったとすると、コンパイルの指示が50回必要になるんですが、
面倒くさいのでバッチを作成して「PLUS」で実行すれば一気にコンパイルをかけてくれるんです
(バッチと言っても、ファイル拡張子[SQL]の付いた、ただのテキストファイルですけど (^o^; )
ではでは
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Oracle SQL*Net 2.3
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.