存储过程
运算符
算数运算符 + - * / %
赋值运算符 = += -= *= /=
条件运算符 == != >< >= <=
位、逻辑运算符 与& 或| 非~
流程控制
if 条件 then
SQL语句
else
SQL语句
end if;
switch(表达式){
case 值1;语句1;break;
case 值2;语句2;break;
.........................................
case 值3;语句3;break;
default;语句n+1;break;
}
case 表达式
when 值1 then SQL语句1
when 值2 then SQL语句2
...........................................
when 值3 then SQL语句n
else SQL语句n+1
end case;
while 条件 do
SQL语句
end while;
repeat
SQL语句
until 条件
end repeat:
loop
SQL语句
end loop;
SQL语句1 1->条件(真)->2->
while 条件 do 条件(真)->2->
SQL语句2 ......................
end while; 条件(真)->2-> 条件(假)->3
SQL语句3
SQL语句1 1->
repeat 2->条件(假)->
SQL语句2 2->条件(假)->
until 条件 1->2->条件(真)->3 ......................
end repeat; 2->条件(假)->
SQL语句3 2->条件(真)->3
SQL语句1 1->
标签 2->条件(假)->5->
loop 2->条件(假)->5->
SQL语句2 ............................
if 条件 then 2->条件(假)->5->
SQL语句3 2->条件(真)->3->6
leave 标签
SQL语句4
end if
SQL语句5
end loop;
SQL语句6
变量
用户变量 set @变量名 = 值;
系统变量 @@系统变量名 @@version @@date
局部变量 declare 变量名 数据类型 default 值;
创建游标
declare 游标名 cursor for 查询语句;
打开游标
open 游标名;
关闭游标
closer 游标名;
使用游标
fetch 游标名 into 变量名;
创建存储过程
create procedure 存储过程名( in | out | inout 变量名 数据类型)"输入" "输出" "输入输出"
begin
...............................
...............................
end
删除存储过程
drop procedure 存储过程名;
调用存储过程
call 存储过程名();
修改SQL语句结束符
delimiter 结束符;
drop 存储过程名;