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