PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
15968 | 01/08/03 13:05:47 | RE(2):PB7.0: 動的SQLについて By JSD |
15967 | 01/08/03 12:01:02 | RE(1):PB7.0: 動的SQLについて By 川端 |
15966 | 01/08/03 11:29:26 | PB7.0: 動的SQLについて By JSD |
カテゴリ:スクリプトの記述
日付:2001年08月03日 13:05 発信者:JSD
題名:RE(2):PB7.0: 動的SQLについて
川端さん、こんにちは。
>>レコード件数を取得するSQL
>>
>>ls_jouken = SELECT COUNT(*) INTO :ll_cnt FROM XXXXXX
>>
>>があります。
>>
>>動的SQLで
>>
>>PREPARE SQLSA FROM : ls_jouken USING SQLCA;
>>EXECUTE IMMEDIATE :ls_jouken ;
>>
>>と実行したのですが、変数 ll_cnt に値が入りません。
>
>「EXECUTE IMMEDIATE」では、値を取得することは出来ません。
>「EXECUTE IMMEDIATE」は、「CREATE ***」「INSERT INTO」「UPDATE」「DELETE」などといった
>値が戻る必要のないSQL構文のみに対応した処理です。
>
>どうしても動的にSQLを処理したいのであれば、「DYNAMIC CURSOR」を使ったやり方
>(動的SQLのフォーマット3もしくは4)にして下さい。
>
>例)
>ls_jouken = \"SELECT COUNT(*) FROM XXXXXX\"
>
>DECLARE mycursor DYNAMIC CURSOR FOR SQLSA ;
>PREPARE SQLSA FROM :ls_jouken USING SQLCA ;
>
>OPEN DYNAMIC mycursor ;
>FETCH mycursor INTO :ll_cnt ;
>CLOSE mycursor ;
>
>
>
なるほど マニュアルの見方が甘かったようです。
どうもありがとうございました。^^
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.