存储过程是通过给定的语法格式编写自定义的数据库api,类似于给数据库编写可执行函数。
存储过程是一组为了完成特定功能的sql语句集合,是经过编译后存储在数据库中。
存储过程增强了sql语言的功能和灵活性,它可以使用流控制语句编写来完成复杂的判断和计算。
存储过程是把完成特定功能的sql语句集合统一在数据库中进行处理,避免了多次网络io请求造成的网络负载。
基本结构
调用语句如下,
变量
在存储过程中,函数参数包含三种变量,
in 输入参数,必须在调用存储过程时指定
out 输出参数,可在存储过程内部被改变,返回该结果
inout 输入输出参数,调用时指定并且可被改变和返回
在存储过程内部,参数的定义如下,
用户变量
变量赋值
条件语句
case语句
循环语句
while语句,同c语言中的while语句一样。
repeat语句,类似于c语言中的do while语句。
loop语句,没有结束的判断语句,利用<code>leave</code>来跳出循环,类似于break。
mysql内置了一些函数,这些函数可以极大地提高编写存储过程的效率。
字符串操作如下,
math相关操作如下,
时间相关操作如下,
<a href="http://xdj651897373-126-com.iteye.com/blog/1819924">http://xdj651897373-126-com.iteye.com/blog/1819924</a>
<a href="http://blog.tankywoo.com/2015/04/01/mysql-stored-procedure.html">http://blog.tankywoo.com/2015/04/01/mysql-stored-procedure.html</a>
<a href="http://stackoverflow.com/questions/8549619/mysql-dynamically-build-query-string-in-a-stored-procedure-based-on-logic">http://stackoverflow.com/questions/8549619/mysql-dynamically-build-query-string-in-a-stored-procedure-based-on-logic</a>
![]()
MySQL 存储过程