如何在MySQL中编辑存储过程?

23

我似乎找不到在MySQL中编辑已创建存储过程的语法。


1
这里有一篇关于MySQL存储过程的绝佳教程。 - RN Kushwaha
1
@RNKushwaha 如果你是那个给我点踩的人,我想说,对于五年前提出的问题,曾经被认为是符合主题的三年时间而言,得到负分评价有点让人不爽。我完全可以接受这个问题被删除,但我很难理解在这种情况下谁会从点踩中受益。 - Eric Wilson
1
这一切都是意外发生的。我本来想点赞的,但现在它显示你的投票已被锁定。如果你编辑这个问题,我会给你点赞。 - RN Kushwaha
2个回答

26

您可以使用ALTER PROCEDURE语法更改特定属性。

如果要更改存储过程主体,则需要删除并重新创建整个存储过程,在这种情况下,SHOW CREATE PROCEDURE可能会有用。


1
似乎这是唯一的方法。但我不明白。当你在Workbench中选择“修改过程”(应该是“例程”)时,你会得到一个可以正常工作的Create语句。 - Gruber
2
Workbench的alter例程是一个特定于Workbench的抽象。实际的原始SQL是ALTER PROCEDURE。如果您在Workbench中更改存储过程,它仍将被删除并重新创建。 - Neil Aitken

19

MySQL不允许修改存储过程,但可以删除并重新创建存储过程。在MySQL中,可以使用以下查询来选择存储过程选项。

DROP PROCEDURE IF EXISTS foo;
    delimiter //
    create PROCEDURE foo (args)
    begin
      bla bla
    end//
    delimiter ;

一般情况下,修改为什么是必要的? - Alex78191

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接