mysql 游标使用总结
2016-11-18 17:43
399 查看
游标可以用在存储过程 、函数 触发器或事件(Event)中。通俗讲是用来循环select的查询结果。游标需要与handler一起使用,并且要在handler之前定义。游标有三个属性。
Asensitive : 数据库也可以选择不复制结果集。
Read only: 不可更新。
Nonscrollable: 游标只能向一个方向更新不能跳行。
使用过程分为 定义–打开–使用–关闭
定义 : DECLARE cursor_name CURSOR for select_statement
打开 : open cursor_name
使用 : fetch cursor_name into var_name….
关闭 : close cursor_name
需要注意的是从游标取得的数据放入变量时,变量的名字不能和游标定义中的列名一样,否则取出的值都为null。我们定义的是_emp_no,游标中的是emp_no。
游标的开销主要是因为需要对每行进行处理,处理过程越复杂,游标的效率越低
关于游标效率问题 下一节继续 to be continue…..
Asensitive : 数据库也可以选择不复制结果集。
Read only: 不可更新。
Nonscrollable: 游标只能向一个方向更新不能跳行。
使用过程分为 定义–打开–使用–关闭
定义 : DECLARE cursor_name CURSOR for select_statement
打开 : open cursor_name
使用 : fetch cursor_name into var_name….
关闭 : close cursor_name
example
delimiter $$; create procedure cur_demo() begin declare done int default 0; declare _emp_no int; declare _dept_no varchar(10); declare cur1 cursor for select emp_no,dept_no from dept_emp; declare continue handler for not found set done=1; open cur1; read_loop:LOOP fetch cur1 into _emp_no,_dept_no; IF done THEN leave read_loop; end if; end LOOP; close cur1; end; delimiter ;
需要注意的是从游标取得的数据放入变量时,变量的名字不能和游标定义中的列名一样,否则取出的值都为null。我们定义的是_emp_no,游标中的是emp_no。
游标的开销主要是因为需要对每行进行处理,处理过程越复杂,游标的效率越低
关于游标效率问题 下一节继续 to be continue…..
相关文章推荐
- mysql 游标的使用总结
- mysql 游标的使用总结
- MS Sql Server临时表和游标的使用小总结
- 使用ADO+MySQL时经常出现的错误分析及总结
- mysql游标使用
- Oracle 游标使用总结
- Oracle 游标使用总结
- MySQL使用总结(1)
- MySql 存储过程使用游标循环插入数据示例
- MySQL日期数据类型、MySQL时间类型使用总结
- Mysql日期使用总结
- mysql内存表heap使用总结
- 临时表和游标的使用小总结
- mysql的游标使用笔记
- Sql Server临时表和游标的使用小总结
- Mysql 游标的使用方法用例
- MS Sql Server临时表和游标的使用小总结
- MySQL中的字符集涵义及使用方法总结(二)
- mysql 游标的使用
- mySQL 使用游标小例