- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB6 + OO4O プロシージャの実行&複数行を受け取る方法)
VB6 + OO4O プロシージャの実行&複数行を受け取る方法
このQ&Aのポイント
- VB6でOracleデータベースを操作しようと試みている最中で、OO4Oで接続しています。
- SQLserverではストアドプロシージャの実行と複数行の受け取りができましたが、Oracleではどのように実現すれば良いか悩んでいます。
- 既存のサンプルではパラメータのみを指定してストアドプロシージャを呼び出す方法が多く、戻り値が複数行の場合の処理方法がわかりません。どのようなキーワードで調べれば良いか教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
SELECT INTOは1単一行のデータ取得をする際に用います。 ◆ストアード(PL/SQL)での複数レコード取得 (1)カーソル定義 (2)カーソルオープン (3)カーソル行データ取得(フェッチ) (4)カーソルクローズ --カーソル定義 declare cursor c_depts is select dept_id,dept_name from dept; dept_rec c_depts%rowtype; begin --カーソルオープン open c_depts; loop --1レコード分のデータ取得 fetch c_depts into dept_rec; -- レコードが無くなればループ終了 exit when c_depts%notfound; dbms_output.put_line('部門コード1:' || dept_rec.dept_id); dbms_output.put_line('部門名称:' || dept_rec.dept_name); end loop; --カーソルクローズ close c_depts; end;
お礼
Hardking様、ご回答ありがとうございます! ご回答遅くなり申し訳ありません。 このストアドですが、 抽出条件を引数として渡し、 複数行を取得する、というVBはどのように記述するのでしょうか? 「SQL文を記述し、受け取る」というサンプルしか見つけられなかったもので。。。 ご指導よろしくお願いいたします。
補足
Hardkingさま、ご回答いただいておりました。 「お礼」を書いた際はまだまだ勉強不足だったので、せっかくのHardkingさまのご回答でも理解できていなかったのですが、何とか処理できました。 おそくなりましたが解決いたします。 ありがとうございました。