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で質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QDBエラーの意味

フォームからDBにデータ挿入しようとすると

Column count doesn't match value count at row 1

というエラーが出てしまいます・・・どういう意味を持ったエラーなんでしょうか?

Aベストアンサー

カラム数と値の数が合わない、と言う事です。簡単な英語なので覚えましょう。
カラム数が4つにもかかわらず、
"INSERT INTO tablename VALUES (1,'hoge',3)"
とやった場合等に出るエラーだと思います。


人気Q&Aランキング

おすすめ情報