我在phpMyAdmin
中创建了一个存储过程CREATE PROCEDURE Sample()
SELECT * FROM feedback
我在哪里可以查看此程序?如果在phpMyAdmin中无法实现,那么具有编写,存储和查看存储过程,表等功能的一些优秀程序是什么?
答案 0 :(得分:76)
在phpmyadmin中查看存储过程:
查询:
SELECT routine_definition
FROM information_schema.routines
WHERE
routine_name = 'procedure_name' AND routine_schema = 'databasename';
以下是如何通过phpmyadmin实现目标。
routines
中提供了 phpmyadmin
选项。在您拥有至少一个存储过程之前,该链接在PHPmyadmin中不可见。请参阅上面的图片,然后点击routines
标签下的 structure
链接。
答案 1 :(得分:19)
select routine_definition
from information_schema.routines
where routine_schema = 'db_name'
and routine_name = 'sp_name';
答案 2 :(得分:6)
此answer显示了如何在没有脚本的情况下查看它们。
“创建存储过程后,它将显示在表格下方的Routines字段集中(在Structure选项卡中),您可以轻松地更改/删除它。”
答案 3 :(得分:5)
您可以选择“information_schema”作为数据库,并查询表“例程”中的所有条目,以防您不想每次都使用SQL。
答案 4 :(得分:4)
简而言之,你可以使用这个sql
SHOW CREATE PROCEDURE Sample;
此处有更多信息
更新:如果您不记得名称,可以查询INFORMATION_SCHEMA
数据库以查看所有程序(如果您记住部分名称,可以在ROUTINE_NAME
上使用LIKE)
SELECT ROUTINE_TYPE, ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA='dbname';
答案 5 :(得分:3)
show procedure status; -- will show you the stored procedures.
show create procedure MY_PROC; -- will show you the definition of a procedure.
help show; -- show all the available options for the show command.
答案 6 :(得分:3)
在phpMyAdmin下,单击您的数据库(不在桌面上),然后单击“+ Routines”。
您可以编辑/删除所有存储过程
答案 7 :(得分:3)
在PHPMYADMIN 3.5.2.2版本中,您只需单击顶部的例程链接。见附图
答案 8 :(得分:2)
不要忘记,在较小的屏幕中,您必须使用“更多”菜单。
答案 9 :(得分:1)
单击home,数据库后,我创建了该过程的数据库。它打开该数据库的结构窗口。 在菜单栏中:“结构,sql,搜索,...”应该有例程,如果不是那么点击右边的项目叫做more,它应该在那里(诅咒我的上网本没有24英寸的屏幕)。
要确保您的数据库具有单击导出的过程,请选择“自定义 - 显示所有可能的选项”,在“输出:”下选择“以文本形式查看输出”,在“格式特定选项:”下选择“结构” (在“转储表”下),确保选择“添加CREATE PROCEDURE / FUNCTION / EVENT语句”(在“转储表”下稍微一点)。 现在点击Go,你的程序应该出现
使用: 版本信息:3.5.2,最新稳定版本:3.5.2.2
答案 10 :(得分:1)
使用Adminer data-base interface。与PHPMyAdmin不同,它完全能够查看,编辑和调用存储过程,其中PHPMyAdmin失败并出现大量错误(当您尝试运行SQL语句创建错误时出错,当您尝试调用错误时出错,当您尝试更改时出错)一个已经创建的,除了它无法列出定义的那些...我真的很想知道PHPMyAdmin在将它提交给数据库之前用SQL查询文本做什么,这太可怕了。
只需在您的Web服务器的某个位置复制Adminer PHP文件,打开相应的URL。登录并选择数据库后,在表列表下方,您将看到一个存储过程列表,其中包含一个“呼叫”按钮。单击过程链接,您还可以更改(编辑)它。
老实说,我建议你放弃使用PHPMyAdmin,它完全无法正确处理这个问题(请注意,SQLBuddy也会以某种方式失败)。
- 编辑 -
为完整起见,您还可以使用此SQL查询列出存储过程:
show procedure status;
或者这个,检索名称已知的程序:
show procedure status where Name = 'name';