- 締切済み
動的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でした。 なので、件数が取得出来ていないようです。 オラクルエラーにもならず、次の処理へ流れていってしまいます。 知っている方、教えてください。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- sekidoutyokka
- ベストアンサー率20% (20/99)
回答No.1
動的SQLはあまり使わない上、Pro*Cでくらいしか使ったことがないんで、 かなりうろ覚えですが・・・。 INTOのところをUSINGにして、 INTOはFETCHで使ってみてください。 もしくは、PREPARE →DECLARE →OPEN→FETCH →CLOSEの順でやってみてください。