アプリ版:「スタンプのみでお礼する」機能のリリースについて

●質問の主旨

phpMyAdminのMySQLで
ストアドプロシージャの動作確認をしています。
試しに、


delimiter //
create procedure pr30()
begin
select * from tb;
select * from tb1l;
select * from tb1;
end
//
delimiter ;

というプロシージャを作成して、
実行を押しても、画面が全く変化しません。
エラーの表示さえされません。
(もちろんデータベーステーブルのtb、tb1l、tb1が
存在することは確認済みです)

また、作成している最中に、
命令文が勝手に消えることもあります。

普通に
select * from tb;
と、書いていても消えることはないのですが…。

この現象や対策についてご存知の方がいらっしゃいましたら、
アドバイスをお願いします。

●環境

windows8
xammp1.8.1
phpMyAdmin3.5.2.2
MySQL5.5.27

A 回答 (1件)

dradra33さんはじめまして



結論から言いますと
ストアドプロシージャは作成されていますし
実行されているはずです。

ただ内容がSELECT文なので
ストアドプロシージャはデータベースから
SELECT文の結果を取得して、パソコンメモリ上のどこかに
格納したはずです。でも、それだけです。

その結果をdradra33さんの目で確認するには別の命令が必要になります。

なぜそうなるか、説明しますと、プログラムは最終的な結果だけが重要で
その途中経過をいちいち表示するとうざいからです。
(SELECT文をGUIで実行すると表示されるのはそれが最終目的だからです。)

ストアドプロシージャの実行を確認するだけなら INSERTかDELETE文なんかをお勧めします。

途中で消えるのはよくわかりませんね
キー操作ミスじゃないんですかね。
別のGUIをつかってみては
MySQLWorkbenchとか
    • good
    • 0
この回答へのお礼

saku660さん。
アドバイスありがとうございます。

>ただ内容がSELECT文なので
>ストアドプロシージャはデータベースから
>SELECT文の結果を取得して、パソコンメモリ上のどこかに
>格納したはずです。でも、それだけです。


私が使っている参考書では、プロシージャの例として、
SELECT文が使われています。

本には書かれていない
貴重なアドバイス、助かりました!

お礼日時:2013/06/27 01:20

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

関連するカテゴリからQ&Aを探す