91

sp_helptextMicrosoft SQL Serverと同様に、ストアド プロシージャまたは関数の定義を表示する MySQL コマンドは何ですか?

SHOW PROCEDURE STATUS利用可能な手順のリストが表示されることを知っています。単一のプロシージャーの定義を確認する必要があります。

4

8 に答える 8

141
SHOW CREATE PROCEDURE <name>

CREATE PROCEDUREステートメントを使用して作成された、以前に定義されたストアドプロシージャのテキストを返します。ストアド関数と交換PROCEDUREします。FUNCTION

于 2009-12-28T10:13:17.467 に答える
42

あなたはこれを使うことができます:

SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA = 'yourdb' AND ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME = "procedurename";
于 2009-12-28T10:53:15.293 に答える
13
SHOW CREATE PROCEDURE proc_name;

の定義を返しますproc_name

于 2009-12-28T10:18:04.057 に答える
10

手順のリストを知りたい場合は、次のコマンドを実行できます-

show procedure status;

プロシージャとその定義者のリストが表示されます。show create procedure <procedurename>;

于 2012-06-26T19:00:13.390 に答える
5

何かのようなもの:

DELIMITER //

CREATE PROCEDURE alluser()
BEGIN
   SELECT *
   FROM users;
END //

DELIMITER ;

よりも:

SHOW CREATE PROCEDURE alluser

結果を与える:

'alluser', 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER', 'CREATE DEFINER=`root`@`localhost` PROCEDURE `alluser`()
BEGIN
   SELECT *
   FROM users;
END'
于 2009-12-28T10:29:47.157 に答える
-3

完璧です、試してみてください:

SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES
    WHERE ROUTINE_SCHEMA = 'yourdb' AND ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME = "procedurename";
于 2015-08-05T08:35:59.547 に答える