PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
7303 | 99/07/28 10:31:47 | RE(3):PB5.0.02: PB5.002にて、ORACLE7.3に動的にプロシージャを発行したいのですが... By pb_beginner |
7259 | 99/07/25 08:48:51 | RE(2):PB5.0.02: PB5.002にて、ORACLE7.3に動的にプロシージャを発行したいのですが... By pb_beginner |
7257 | 99/07/24 15:25:15 | RE(1):PB5.0.02: PB5.002にて、ORACLE7.3に動的にプロシージャを発行したいのですが... By Taka |
7255 | 99/07/24 12:17:08 | PB5.0.02: PB5.002にて、ORACLE7.3に動的にプロシージャを発行したいのですが... By pb_bignner |
カテゴリ:データベース
日付:1999年07月28日 10:31 発信者:pb_beginner
題名:RE(3):PB5.0.02: PB5.002にて、ORACLE7.3に動的にプロシージャを発行したいのですが...
pb_beginnerさん、こんにちは。
>Takaさん、おはようございます。
>
>>pb_bignnerさん、こんにちは。
>>
>>>PB5.002にて、ORACLE7.2に動的にプロシジャを発行したいのですが、よく分かりません。
>>
>>動的SQL・書式3を使います。オンラインヘルプやブックを参考にしてください。
>>
>>>DECLARE my_proc Procedure FOR procedure_name(;val1,:val)
>>>
>>>の構文でプロシージャ名をテーブルから取得しProcedure_name 変数にSETして
>>>実行したいのですが出来るのでしょうか?
>>
>>プロシージャ名が可変になるだけで、入力引数と出力引数がすべて同じ構成で
>>あれば、以下のように記述します。(val1,val2がstring, 出力がintegerと想定します)
>>
>>integer out
>>string exec_statement
>>exec_statement = \"EXECUTE \" + プロシージャ名 + \"(\'\" + val1 + \"\',\'\" + val2 + \"\')\"
>>DECLARE my_proc DYNAMIC PROCEDURE FOR SQLSA ;
>>PREPARE SQLSA FROM :exec_statement ;
>>EXECUTE DYNAMIC my_proc ;
>>FETCH my_proc INTO :out ;
>>CLOSE my_proc ;
>>
>>もしもプロシージャごとに入出力引数の構成が違うのでしたら、別の方法(書式4)を
>>使わなければならないので注意してください。
>>また、「結果集合を返すプロシージャ」の場合も書き方が若干違います。
>>
>>
>Takaさん、早速の回答ありがとうございます。
>まわりに詳しい人がいないし、納期は迫るし、この方法は出来ないのではないかと
>半分あきらめていました。
>なるほど、DESCRIBEする必要はないのですね。
>出力変数の構成は同一ですので教えていただいた方法で試してみます。
>うまくいったら、また投稿します。
>Takaさん感謝します。
>
>無事に出来ました。Takaさん、ありがとうございました。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS Oracle SQL*Net 2.2
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.