Mysql 显示与perl DBI不一致的创建过程结果

Mysql 显示与perl DBI不一致的创建过程结果,mysql,perl,plsql,dbi,Mysql,Perl,Plsql,Dbi,将“showcreateprocedurefoo”管道化到mysql结果中,在标记为“createprocedure”的列中包含完整的过程定义。但是, $dbh->selectrow_hashref(“SHOW CREATE PROCEDURE foo”) 结果$ref->{'Create Procedure'}未定义,其他列填充正确。 两者都在具有相同凭据的同一台计算机上执行。 有人知道原因吗?如果您所连接的用户没有查看该过程的权限,您将看到这一点。尝试在命令行中使用相同的用户,我猜您将看到c

将“showcreateprocedurefoo”管道化到mysql结果中,在标记为“createprocedure”的列中包含完整的过程定义。但是,

$dbh->selectrow_hashref(“SHOW CREATE PROCEDURE foo”)

结果$ref->{'Create Procedure'}未定义,其他列填充正确。 两者都在具有相同凭据的同一台计算机上执行。
有人知道原因吗?

如果您所连接的用户没有查看该过程的权限,您将看到这一点。尝试在命令行中使用相同的用户,我猜您将看到createprocedure列为NULL

您似乎需要mysql.proc上的select权限才能查看过程主体