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月07日 20:43 発信者:M.M
題名:RE(8):PB6.5: 動的SQLで、FROM句を動的に変えるには?
junkさん、HFintegraleさん、こんばんは。
>その後、スクリプトを変えて試してみたところ、
>FROM 句に ? を使うとこの現象が起きることがわかりました。
>
>ちょっと記述が乱暴ですが、自分で記述したスクリプトをもとに
>例を書いてみます。
>
>例1 (OK)
>ls_prod = THIS.GetItemString(row, \'pc\')
>ls_sqlStatement = \"SELECT KANJI_NAME FROM SCHEMA.TABLE WHERE PC = ?\"
>DECLARE my_cursor DYNAMIC CURSOR FOR SQLSA;
>PREPARE SQLSA FROM :ls_sqlStatement;
>OPEN DYNAMIC my_cursor USING :ls_prod;
>FETCH my_cursor INTO :ls_kanji;
>CLOSE my_cursor;
>IF SQLCA.SQLCode = 0 THEN
> << 略 >>
>ELSE
> MessageBox(\"Check\", \"SQLCode = \" + String( SQLCA.SQLCode ) + \' \' + ls_err_text )
>END IF
>
>例2 (NG)
>ls_prod = THIS.GetItemString(row, \'pc\')
>ls_table = \'SCHEMA.TABLE\'
>ls_sqlStatement = \"SELECT KANJI_NAME FROM ? WHERE PC = ?\"
>DECLARE my_cursor DYNAMIC CURSOR FOR SQLSA;
>PREPARE SQLSA FROM :ls_sqlStatement;
>OPEN DYNAMIC my_cursor USING :ls_table, :ls_prod;
>FETCH 以下同じ
>
>SQLErrTextは、「ストアドプロシージャが実行されていないか、結果が得られませんでした。」です。
>
>手動発行したSQL文は、次のとおりです。
>SELECT KANJI_NAME FROM SCHEMA.TABLE WHERE PC = \'***\';
Takaさん、てとらぽっとさんのコメントにありますとおり、動的SQLの書式3では、from句で\"?\"の
指定はできないのが正しい動作のようです。
混乱させてしまい、お詫びいたします。(m○m)
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows98
DBMS DBMSクライアントソフトウェアなし
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.