dポイントプレゼントキャンペーン実施中!

mysqlのクライアントから、create procedure文を入力し、表示するとコメントが消えてしまいます。
(例)
>delimiter //
>CREATE PROCEDURE abc()
>BEGIN
>#comment
>SELECT "A";
>END;
>//
>SHOW CREATE PROCEDURE abc;
>//
+-----------+----------+---------------------------------------------------------------------------+
| Procedure | sql_mode | Create Procedure |
+-----------+----------+---------------------------------------------------------------------------+
| abc | | CREATE DEFINER=`root`@`localhost` PROCEDURE `abc`()
BEGIN
SELECT "A";
END |
どうしたらコメントが入れられるか、どなたかお知恵をお貸しください。
mysqlのバージョンは 5.1で、OSはRedHat EL5です。
どうぞよろしくお願いいたします。m(__)m

A 回答 (1件)

>#comment


このコメントは、外部ファイルからsql文を読み込んで実行する時などに、外部ファイルをみた人に解りやすいようにするためのコメントなので、データとしては保持されません。

ーーMySQLmanualから構文抜粋引用
CREATE PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
characteristic:
... | COMMENT 'string'

これをみるとcharacteristicの部分にコメント文を保持できるようですけど、routine_bodyの途中には無理のよう。
動作説明を入れるのが目的なら、このCOMMENT節でも十分かとおもう。

この回答への補足

早速のご回答ありがとうございます。
補足ですが、現在Nabicatというツールを使って入力するとコメントが入ります。入ったあとで、MySQLのクライアントでshow create procedure xxと実行すると、コメントは入っています。しかしツールを使用せずに、MySQLのクライアントで直接入力するとコメントが入らないのです。
この当たりのことをご存知ないでしょうか。
どうぞよろしくお願いいたします。

補足日時:2009/05/15 09:29
    • good
    • 0

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