ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:googoohoge ストアドプロシージャ作成時のエラーについて
困り度:
  • 暇なときにでも
お世話になっております。

CREATE PROCEDURE AAA (IN param INT)
BEGIN
SELECT CD, NAME FROM TBL WHERE TBL_KEY = param;
END

INTEGER型の引数を渡してVARCHAR型のCD、NAMEを取り出す程度のストアドプロシージャを作成しようとすると

1303 - Can't create a PROCEDURE from within another stored routine.

なるエラーが表示されて作成ができません。

このエラーの理由についてコメント頂ければ幸いです。
質問投稿日時:08/04/10 17:04
質問番号:3937826
この質問に対する回答は締め切られました。

回答

良回答20pt

回答者:chukenkenkou MySQLのバージョンは、5.0? 5.1?

質問中にあるコードは、実際に作成しようとしているものすべてですか?
(一部、省略して掲載していませんか?)

エラーの意味としては、「リカーシブ・コールしようとしている」といった意味のようです。MySQLのストアド・プロシジャは、現在、リカーシブ・コールは未実装です。
種類:補足要求
どんな人:一般人
自信:参考意見
回答日時:08/04/10 19:01
回答番号:No.1
この回答へのお礼chukenkenkouさん、コメントありがとうございます。
MySQLのバージョンは5.0です。

>質問中にあるコードは、実際に作成しようとしているものすべてですか?

はい。これで全部です。

>エラーの意味としては(略)

このプロシージャが再帰呼び出しになる・・わけは無いですよね。
もう少し調べてみます。