mysql 游标
2016-05-03 11:44
197 查看
游标
游标就是结果集,可以把游标当作集合的指针或者java中的引用。一旦打开游标就是执行了查询,打开游标必须要关闭,否则会占用内存资源。游标必须在存储过程中创建和使用。用fetch...into...来迭代游标。使用repeat .....until
条件 end repeat做循环;
创建
declare xx cursor for select * from user;
可以把游标当做结果集的引用,所以这里用declare声明变量,而不是create。这里没有执行select语句,仅仅是定义。
打开游标
open cursor_name;
打开游标时,会执行select语句
关闭游标
close cursor_name;
关闭游标,会释放游标占用的内存资源,所以打开游标后一定要关闭。如果不关闭,默认存储过程结束时,释放内存资源。
完整示例:
这里要注意,局部变量要在任意游标或句柄之前定义,而句柄必须在游标之后定义。
本例中,游标user_cursor是user表中id的集合,通过repeat遍历游标,并将id赋值给局部变量,使用完后关闭游标。
游标就是结果集,可以把游标当作集合的指针或者java中的引用。一旦打开游标就是执行了查询,打开游标必须要关闭,否则会占用内存资源。游标必须在存储过程中创建和使用。用fetch...into...来迭代游标。使用repeat .....until
条件 end repeat做循环;
创建
declare xx cursor for select * from user;
可以把游标当做结果集的引用,所以这里用declare声明变量,而不是create。这里没有执行select语句,仅仅是定义。
打开游标
open cursor_name;
打开游标时,会执行select语句
关闭游标
close cursor_name;
关闭游标,会释放游标占用的内存资源,所以打开游标后一定要关闭。如果不关闭,默认存储过程结束时,释放内存资源。
完整示例:
这里要注意,局部变量要在任意游标或句柄之前定义,而句柄必须在游标之后定义。
本例中,游标user_cursor是user表中id的集合,通过repeat遍历游标,并将id赋值给局部变量,使用完后关闭游标。
相关文章推荐
- Mysql中max_allowed_packet参数自动改变
- mysql乐观锁总结和实践 (转)
- Mysql测试链接
- mysql悲观锁总结和实践 (转)
- MySQL执行计划解读
- Mysql几种索引类型的区别及适用情况
- ERROR 1129 (00000) Host * is blocked because of many connection errors; unblock with ‘mysqlad解决
- 使用Entity Framework访问MySQL数据库
- perl 执行mysql select 返回多条记录
- perl 执行mysql select 返回多条记录
- perl 执行mysql select 返回多条记录
- MYSQL安装图解
- mysql使用小技巧
- mysql使用小技巧
- mysql数据库text、varchar、blob数据类型比较
- perl 5.22手动安装Mysql DBI和DBD
- perl 5.22手动安装Mysql DBI和DBD
- perl 5.22手动安装Mysql DBI和DBD
- MYSQL数据表损坏的原因分析和修复方法小结
- MySQL中的insert into类似用法