首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL:如何原子地修改存储过程?

MySQL:如何原子地修改存储过程?
EN

Stack Overflow用户
提问于 2012-04-23 21:48:49
回答 1查看 1.1K关注 0票数 6

我已经在互联网上搜索过了,并且明白改变存储过程的唯一方法就是删除并重新创建它。这种机制似乎没有什么问题,但如果我有一个客户端应用程序(或数千个分布式客户端)不断调用存储过程来更新服务器数据库上的某些数据,则删除该过程将导致数据丢失和/或损坏。

我在想,如果有这样的语法,“如果存在创建过程.”或者一些功能类似的东西,这样更新操作就会顺利地执行。然而,我并没有在MySQL中找到这样的东西。

那么你们认为这个问题可以怎样解决呢?很棒的想法?

EN

回答 1

Stack Overflow用户

发布于 2012-04-23 21:59:44

不能在MySQL中修改存储过程(尽管可以更改其特性)。来自ALTER PROCEDURE页面。

此语句可用于更改存储过程的特征。可以在语句中指定多个更改。但是,不能使用此语句更改存储过程的参数或正文;要进行此类更改,必须使用drop过程和CREATE过程删除并重新创建过程。

虽然在执行此更新时有可能丢失数据(尽管它应该是一个相对较小的窗口),但您的数据不太可能被损坏。如果您的系统需要防范数据库停机时的数据丢失,我将查看消息队列技术。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10288826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档