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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.