天天看点

MySQL 存储过程

存储过程是通过给定的语法格式编写自定义的数据库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 存储过程