PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
7054 99/07/08 09:56:04 RE(9):PB6.5: 動的SQLで、FROM句を動的に変えるには? By junk
7051 99/07/07 20:43:01 RE(8):PB6.5: 動的SQLで、FROM句を動的に変えるには? By M.M
7047 99/07/07 18:49:59 RE(7):PB6.5: 動的SQLで、FROM句を動的に変えるには? By Taka
7045 99/07/07 17:27:21 RE(6):PB6.5: 動的SQLで、FROM句を動的に変えるには? By てとらぽっと
7044 99/07/07 17:08:03 RE(5):PB6.5: 動的SQLで、FROM句を動的に変えるには? By HFintegrale
7042 99/07/07 16:31:26 RE(4):PB6.5: 動的SQLで、FROM句を動的に変えるには? By junk
7034 99/07/07 12:31:40 RE(3):PB6.5: 動的SQLで、FROM句を動的に変えるには? By HFintegrale
7031 99/07/07 10:59:00 RE(2):PB6.5: 動的SQLで、FROM句を動的に変えるには? By junk
6986 99/07/05 13:14:39 RE(1):PB6.5: 動的SQLで、FROM句を動的に変えるには? By M.M
6984 99/07/05 12:05:28 PB6.5: 動的SQLで、FROM句を動的に変えるには? By junk

カテゴリ:スクリプトの記述
日付:1999年07月05日 13:14 発信者:M.M
題名:RE(1):PB6.5: 動的SQLで、FROM句を動的に変えるには?

junkさん、こんにちは。

>例えば、店舗毎に用意した売上テーブルから、
>ある商品の売上数量を、すべての店舗に渡って抽出する
>場合です。

>SELECT volume INTO :li_volume FROM :ls_table &
>   WHERE prodcode = :ls_prod_code;

>このようなイメージを実現させたいと思っています。
>ただし、このままだと、「表名が無効です」となります。

上記の記述は、正確に言うと『動的SQL』ではなく『埋め込みSQL』ですね。
動的SQLの設定を、以下の様に記述すれば処理が可能だと思います。
詳しくは、ヘルプ/マニュアルで「動的SQL 書式3」を参照して下さい。


Int li_volume
String ls_sqlStatement,ls_tableName,ls_prodCode



ls_sqlStatement = \"SELECT volume FROM ? WHERE prodcode = ?\"
ls_tableName = \"xxxxx\" //xxxxxにTable名を記述
ls_prodCode = \"yyyyy\" //yyyyyに比較する値を記述



PREPARE SQLSA FROM :ls_sqlStatement;
OPEN DYNAMIC my_cursor using :ls_tableName, :ls_prodCode;
FETCH my_cursor INTO :li_volume;
CLOSE my_cursor;



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows98
DBMS DBMSクライアントソフトウェアなし
Browser (記載なし)

Server SoftWare

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

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