游标
游标的基本概念
在查询表时,会获得一个查询结果集,游标就是用来遍历这个结果集中每一条记录的,把查询结果集看作是一个容器,那游标就是类似于迭代器一样的东西,
游标可以返回结果集中一行或多行数据,结果集是存在数据缓冲区里的,游标可以从数据缓冲区里读取相应的数据。
游标只能用在存储过程和函数中,并且一次只能指向一条记录。
游标类似于C语言中的指针,可以指向一块数据内存,然后通过这块数据进行访问,也可以理解成c++中的容器的迭代器
游标的使用
-
声明游标(定义游标)
declare 游标名 cursor for select 查询语句; -
打开定义的游标
open 游标名; -
遍历游标(使用游标)
fetch 游标名 into 值列表(变量); -
使用完释放游标(关闭游标)
close 游标名;
条件处理
条件处理就是MySQL数据库中的异常处理(错误处理)。
MySQL通过条件处理来捕获错误和异常。
定义处理函数
DECLARE 捕获选项 HANDLER
FOR 错误值 [, condition_value] ...statement
handler_action#选项
#捕获后怎么处理? 继续 | 退出 | 不处理(MySQL不支持)
handler_action: CONTINUE | EXIT | UNDO # 处理动作名
condition_value: # 错误值
mysql_error_code