10

是否有任何选项可以查看 MySql 中的存储过程/函数代码,就像 sql 中的“sp_helptext 过程名”一样?

4

5 回答 5

18

尝试“显示创建过程过程名称”

于 2012-08-24T07:44:47.017 回答
7

是的,

SELECT ROUTINE_DEFINITION FROM information_schema.ROUTINES WHERE SPECIFIC_NAME='procedurename'
于 2013-10-18T11:53:50.897 回答
0

您可以从INFORMATION_SCHEMA.ROUTINES 表中获取信息

于 2012-08-24T07:42:04.100 回答
0

转到 mySQL 工作台

  • 右键单击过程,然后选择ALTER。(这将为您打开程序的定义(是最简单的方法)。

或者

  • 您也可以使用命令 SHOW CREATE PROCEDURE proc_name
于 2018-12-20T02:39:01.930 回答
0

我一直在尝试,我认为以下两种方法中的一种效果最好。

要列出所有内容(parameterscollating等),请使用它。

 SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA in (SELECT DATABASE()) AND ROUTINE_NAME='ProcedureName';

要仅列出代码,请使用它。

SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA in (SELECT DATABASE()) AND ROUTINE_NAME='ProcedureName';

在上述两种情况下,都需要嵌套选择来将结果限制为当前数据库,因为INFORMATION_SCHEMA作为系统数据库,它包含实例中安装的每个数据库的详细信息。

于 2018-09-20T17:57:44.950 回答