- 数据敏感类型游标:游标指向实际的数据,遍历数据时,如果其他session修改了当前cursor遍历的数据集合,会影响当前游标的行为。
- 非数据敏感类型游标:游标查询的数据集合放入到一个临时表中,游标指向临时表的记录集合。
- mysql cursor: 是数据敏感类型游标。
- 基于以上说明: 不要在mysql游标打开的表上更新数据。(也有部分资料说:不要更新游标声明语句中select statement的where条件字段)
mysql cursor无关紧要的特性:
1、游标只能在存储过程中使用,包含在BEGIN ... END statement中。
2、需要close cursor关闭游标,释放资源。其实如果不释放,在END statement结束以后,自动释放cursor。
3、游标的声明语句必须放在所有变量的声明语句之后。
4、游标的声明语句必须关联select statement。
5、定义一个CONTINUE HANDLER FOR NOT FOUND,可以帮助游标在fetch no data的时候,跳出fetch循环。
6、CONTINUE HANDLER FOR NOT FOUND 这个条件不仅仅针对游标没有找到数据会触发,针对其他select statement(在没有检索到数据的情况下)也会触发。
mysql cursor 游标
标签: