こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

動的SQLのCOUNTのとり方

動的SQLで、DBの件数を取得したいのですが、
うまく取得できず困っています。
教えてください!

以下の様に、記述しているのですが取り方間違っていますか?

EXEC SQL EXECUTE statment INTO :CNTNUM;
PREPEAした、statmentには
SELECT COUNT(*) FROM テーブル名 where kbn = 3;
と、ごくごく普通のSELECT COUNT文です。

cnt_numは、int型のホスト変数で宣言しています。
デバックしながら実行すると、cnt_numの値は初期化した時の
0のままです。実際取得した件数が0件なのかもと思い
初期化時に3を代入して実行したら、やはり値は3でした。
なので、件数が取得出来ていないようです。
オラクルエラーにもならず、次の処理へ流れていってしまいます。

知っている方、教えてください。

投稿日時 - 2008-01-31 23:23:39

QNo.3732592

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

動的SQLはあまり使わない上、Pro*Cでくらいしか使ったことがないんで、
かなりうろ覚えですが・・・。

INTOのところをUSINGにして、
INTOはFETCHで使ってみてください。

もしくは、PREPARE →DECLARE →OPEN→FETCH →CLOSEの順でやってみてください。

投稿日時 - 2008-02-01 00:04:52

あなたにオススメの質問