注意:此页面是使用 SQLyog 工具操作数据库。
什么是存储过程?
存储过程是带有 逻辑的 sql 语句,普通的 sql 语句没有条件判断,没有循环,存储过程可以带上流程控制语句(if while)
存储过程特点
1)、执行效率非常快;存储过程是在数据库的服务器端执行的;
2)、移植性很差;不同的数据库,存储过程的语法不一样;
存储过程语法
创建存储过程:
执行(调用)存储过程:
删除 存储过程:
存储过程还可以带有参数:
1、in:表示输入参数,可以向存储过程传递参数;
传入一个员工的 id,根据 id 查询员工的信息:
调用 存储过程,传入参数 id:
2、out:表示输出参数,可以从存储过程中返回结果;
定义一个 会话变量 来接收存储过程 返回的数据,如下所示:
然后查看 会话变量 的值:
3、inout:表示输入输出参数,既可以输入数据,也可以输出数据;
定义一个会话变量 num,然后给 num 赋值 20,如下:
调用 存储过程,并传入 num:调用存储过程时,会执行存储过程中的 select num 语句,输出 num 的值为 20;
同时在存储过程中 重新给 num 赋值 200,并作为参数 传出 存储过程;
查看从 存储过程 中传出的 num 变量的值:
存储过程 还可以带有条件判断
创建带有条件判断的 存储过程:
调用 存储过程:
查看 存储过程返回的值:
存储过程 还可以带有循环语句
创建一个带有 循环语句 的存储过程:
调用存储过程:
查看传出参数 的值:
存储过程 还可以将查询结果赋值给变量并传出来
创建一个存储过程,将查询结果赋值给变量,并传出:
调用存储过程:传入参数2,将查询结果赋值给传出变量 result;
查询 result 的值: