電子書籍の厳選無料作品が豊富!

MySQL5.6のストアドプロシージャが返すSELECT結果のフェッチ方法について教えてください。

delimiter $
create procedure sample_proc()
begin
select * from TEST_TBL;
end$

の様なストアドプロシージャがあり、これを他のストアドプロシージャから呼び出して、
ループしながらフェッチしたいのですが、どうすればよいでしょうか。

A 回答 (2件)

失礼しました


CALLしたプロシージャの結果をOUTを利用せずに使いたいのですね?

プロシージャから他のプロシージャを呼び出すことはできますが
呼び出すプロシージャ内で行っているSELECTは結果ではなく経過でしかないため
SELECT文のようにカーソルでは受けられないですね。

書式的にもカーソルはSELECT文しかうけつけません

http://dev.mysql.com/doc/refman/5.1/ja/declare-c …
    • good
    • 0

いまいち論点がわかりません。


普通に他のプロシージャ内から該当のプロシージャをコールすればよいのでは?

この回答への補足

プログラム全体として以下の構成だと思ってください。
 (1)内部でselect文を実行しているストアドプロシージャ(元質問内の例参照)
 (2)(1)を呼び出し、その結果を利用して処理するストアドプロシージャ
 (3)(2)を呼び出すクライアントプログラム

質問としては(2)の作り方((1)の結果の利用方法)を知りたかったのです。
普通にできる話なのかもしれませんが、具体的な方法が知りたいのです。

補足日時:2014/10/03 13:46
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!