mariadb 如何选择和保存存储过程体?

anauzrmj  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(41)

我试图在一个PHP项目中添加一个工作流,该项目使用了许多Mariadb存储过程和函数。

SELECT * FROM `proc` where db = "db_name"

字符串
但用户的权限有限,如果我尝试

SHOW CREATE PROCEDURE proc_name


我得到一个结果集,
创建过程为空
我还能尝试什么?
编辑(按要求)PHP代码:

$result = $db->query( 'SHOW CREATE FUNCTION customer_fullname' );
foreach( $result as $row ) {
  $proc   = $row['Function'];
  $source = $row['Create Function'];
  echo "<h1>$proc</h1>";
  echo "<pre>$source</pre>";
}


$proc已填充,$source为null。

sg3maiej

sg3maiej1#

过程代码仅对过程创建者或对mysql. proc具有SELECT权限的用户可见。来自the documentation
这两个语句(SHOW CREATE FUNCTION/SHOW CREATE PROCEDURE)都要求您是例程的所有者或对mysql.proc表具有SELECT权限。如果两者都不为true,则语句的Create Procedure或Create Function字段显示NULL。
您试图通过阅读过程体创建的工作流是什么?这不是一件常见的事情。

相关问题