游标
能够对结果集中的每一条记录进行定位 并对指向记录中的数据进行操作的数据结构
游标只能在存储程序内使用 存储程序包括存储过程和存储函数
创建存储函数
create function 函数名称 (参数) returns 数据类型 程序体
存储函数与存储过程的区别
存储函数必须返回一个值或一个数据表 存储过程可以不返回
存储过程可以通过call语句调用 存储函数不可以
存储函数可以放在查询语句中使用 存储过程不行
存储过程可以执行对表的操作和事务操作,存储函数不具备
游标在存储过程中更常用
使用游标的4个步骤
1)定义游标
declare 游标名 cursor for 查询语句;
2)打开游标
open 游标名称;
3)从游标的数据结果集中读取数据 游标查询结果的字段数一定要和into后面的变量数一致
fetch 游标名 into 变量列表;
4)关闭游标
close 游标名称;
游标会占用系统资源 要及时关闭 释放资源
条件处理语句
遇到问题执行操作之后,继续执行还是退出 处理方式有2个选择 continue exit
declare 处理方式 handler for 问题 操作;
流程控制语句
只能用于存储过程 主要有3类
跳转语句
iterate语句 只能用在循环语句内 表示重新开始循环
leave语句 可以用在循环语句内 或用在begin和end包裹的程序体内 表示跳出循环或跳出程序体
循环语句
loop语句 loop循环不能自己结束 需要跳转语句iterate或leave控制
标签:loop
操作
end loop 标签;
which语句 先判断条件,再执行操作
which 条件 do
操作
end while;
repeat语句 先执行操作 后判断条件
repeat
操作
until 条件 end repeat;
条件判断语句
if语句
if 表达式1 then 操作1
[elseif 表达式2 then 操作2]......
[else 操作n]
end if
case语句
case 表达式
when 值1 then 操作1
[when 值2 then 操作2]......
[else 操作n]
end case;