【发布时间】:2012-08-19 18:01:56
【问题描述】:
是否有任何选项可以查看 MySql 中的存储过程/函数代码,就像 sql 中的“sp_helptext 过程名称”一样?
【问题讨论】:
-
SHOW CREATE FUNCTION <function_name>
标签: mysql function schema show procedure
是否有任何选项可以查看 MySql 中的存储过程/函数代码,就像 sql 中的“sp_helptext 过程名称”一样?
【问题讨论】:
SHOW CREATE FUNCTION <function_name>
标签: mysql function schema show procedure
您可以通过INFORMATION_SCHEMA.ROUTINES table获取信息
【讨论】:
尝试“SHOW CREATE PROCEDURE 过程名称”
【讨论】:
function切换procedure关键字来获取函数create code:::::SHOW CREATE FUNCTION function_name
是的,
SELECT ROUTINE_DEFINITION FROM information_schema.ROUTINES WHERE SPECIFIC_NAME='procedurename'
【讨论】:
我一直在尝试,我认为以下两种方法中的一种效果最好。
要列出所有内容(parameters、collating 等),请使用它。
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,作为系统数据库,包含实例中安装的每个数据库的详细信息。
【讨论】:
转到 mySQL 工作台
或
CREATE PROCEDURE proc_name;【讨论】: