知识大全

当前位置/ 首页/ 综合大全/知识大全/ 正文

mysql创建存储过程和函数(MySQL创建存储过程)

导读 想必现在有很多小伙伴对于MySQL创建存储过程方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于MySQL创建存储过程方...

想必现在有很多小伙伴对于MySQL创建存储过程方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于MySQL创建存储过程方面的知识分享给大家,希望大家会喜欢哦。

使用常规的创建存储过程方法,发现各种报错,无法执行,在SQL SERVER下很容易成功的写法,在MySQL下居然不行,经过查找资料发现在MySQL中需要设置DELIMITER

这是正确的存储过程写法,可以成功执行,相比较上图的报错,增加了DELIMITER,简单解释下这个命令的用途,在MySQL中每行命令都是用“;”结尾,回车后自动执行,在存储过程中“;”往往不代表指令结束,马上运行,而DELIMITER原本就是“;”的意思,因此用这个命令转换一下“;”为“//”,这样只有收到“//”才认为指令结束可以执行

该存储过程的功能是将“编号”这行记录的流水号+1,在执行存储过程之前,我们查看下数据库中该表的数据情况

执行存储过程使用call命令,与SQL SERVER的exec用法一样,执行后发现了返回值,流水号已经+1

为了确认数据库中数据确实修改,重新执行遍查询操作

该例中使用了start transaction;事务处理,功能就不解释了,但用法与SQL SERVER有点区别,事实上MySQL在很多地方的语法上与SQL SERVER不一样,但功能类似,需要大家多接触,多练习

还有一点需要补充下,在MySQL中似乎没有修改存储过程的命令,执行alter procedure报错

分析了下mysql workbench工具中的alter命令,其实是先执行的drop然后在create,没有直接用alter操作

本文到此结束,希望对大家有所帮助。

免责声明:本文由用户上传,如有侵权请联系删除!

免责声明:本文由用户上传,如有侵权请联系删除!