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月24日 15:25 発信者:Taka
題名:RE(1):PB5.0.02: PB5.002にて、ORACLE7.3に動的にプロシージャを発行したいのですが...

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)を
使わなければならないので注意してください。
また、「結果集合を返すプロシージャ」の場合も書き方が若干違います。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS Oracle SQL*Net 2.2
Browser (記載なし)

Server SoftWare

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

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