Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
「SHOWCREATEPROCEDUREfoo」をmysqlの結果にパイプすると、「CreateProcedure」というラベルの付いた列に完全なプロシージャ定義が含まれます。でも、
$ dbh-> selectrow_hashref( "SHOW CREATE PROCEDURE foo");
その結果、$ ref-> {'Create Procedure'}はundefになり、他の列は正しく入力されます。両方とも同じマシンで同じ資格情報を使用して実行されました。誰かが理由を知っていますか?
これは、接続するユーザーが手順を表示する権限を持っていない場合に表示されるものです。コマンド ラインで同じユーザーを使用してみてください。Create Procedure 列に NULL が表示されると思います。
プロシージャ本体を表示するには、mysql.proc に対する選択権限が必要なようです。