一、定义
存储过程可以一次性执行成批的sql语句,也叫批处理;
优点:1、批处理,减少客户与服务之间的交流次数;
2、在服务器端运行,移植性好;
3、安全要求高的行业;
4、包含流程控制结构的sql语句的集合;
二、创建存储过程
先声明新的结束符(任选,但是避免在mysql环境下有特殊含义):delimiter //
语法格式:
create procedure p_name(in c_name 数据类型) ----in是默认的,可以不写
in:输入形参的应用 OUT:输出形参的使用,用一个变量(实参位置)保存存储过程中返回的结果
【特征描述1、使用什么语言创建存储过程,2、结果的确定性,3、权限,4、注释】
sql语句集合(可以是一条或多条)
例如:
create procedure p1() select * from table;
create procedure p1()
begin
流程控制结构;
sql语句集合;
end//
declare(声明) var_name type;
存储过程的局部变量是临时结果;
作用范围:从声明位置开始,到end结束;
用户定义变量:声明开始set @x=3;到断开连接结束,不能和其他用户共享;
三、流程控制结构
1、条件结构
语法格式:
if 条件 then 语句集合
elseif 条件 then 语句集合
else 语句集合
end if ----注意有空格
当形参中的变量如果和存储过程中的局部变量同名时,会“覆盖”;形参变量在存储过程中无大小写的要求;
case语法:
1)
case 变量
when 变量取值1 then 语句集合
when 变量取值2 then 语句集合
else 语句集合
end case;
2)
case
when 变量与值1表达式 then 语句集合
when 变量与值2表达式 then 语句集合
else
end case;
2、循环结构
while ······ end while
loop ······ end loop
repeat ···· end repeat
goto (不推荐使用)
四、select ····· into 变量列表
只能应用在存储过程中

被折叠的 条评论
为什么被折叠?



