mysql语句执行过程:
定义和优点
存储过程:存储过程是sql语句和控制语句的预编译集合,已一个名称存储,并作为一个单元处理。**
优点:
- 增强sql语句的功能和灵活性(可以包含控制语句)
- 实现较快的执行速度( 只有在第一次运行的时候存在语法分析和命令编译 )
- 减少网络流量
语法
CREATE
[DEFINER = {user | CURRENT_USER}]
PROCEDURE sp_name ([sp_parameter[,...]])
[characteristic ...] routine_body
proc_parameter:
[IN | OUT | INOUT] param_name type
参数说明
in:表示该参数的值必须在调用存储过程时指定
out:表示该参数的值可以被存储过程改变,并且可以返回
inout:表示该参数的值在调用时指定,并且可以改变和返回
特性
过程体
- 由合法的sql语句构成;
- 可以是任意的sql语句 (增删改查,表连接);
- 如果是复合结构应该使用:BEGIN…END语句;
- 复合结构可以包含声明变量,循环,控制结构
执行
call sp_name ([sp_parameter[,…]])
call sp_name[()]