MySQL游标的使用笔记大全
来源:互联网 发布:ubuntu dd iso 安装盘 编辑:程序博客网 时间:2024/05/21 09:14
原文地址:http://database.51cto.com/art/201005/202914.htm
以下的文章主要介绍的是MySQL游标的使用笔记,其可以用在存储过程的SQL语句,其主要类型主要有以下几种,以下就是对其详细介绍,相信如果你掌握了这项技术,会在以后的学习或是工作中带来很大的帮助。
1、 无返回结果语句,如:INSERT,UPDATE,DROP, DELETE等
2、 select语句返回单行变量并可传给本地变量(select ..into)
3、 返回多行结果集的select语句,并可使用MySQL游标循环处理
注意,存储过程返回的多行结果集,可以被客户端程序(如php)所接收,但要在一个存储过程中接收另一个存储过程的结果集是不可能的,一般解决办法是存入临时表供其它过程共用
4、 prepare语句
以下主要讲述游标及prepare部分
游标
定义
- DECLARE cursor_name CURSOR FOR SELECT_statement;
游标操作
OPEN 打开游标
- OPEN cursor_name;
FETCH 获取游标当前指针的记录,并传给指定变量列表,注意变量数必须与MySQL游标返回的字段数一致,要获得多行数据,使用循环语句去执行FETCH
- FETCH cursor_name INTO variable list;
CLOSE关闭游标
- CLOSE cursor_name ;
注意:MySQL的游标是向前只读的,也就是说,你只能顺序地从开始往后读取结果集,不能从后往前,也不能直接跳到中间的记录.
一个完整的例子:
定义本地变量
- DECLARE o varchar(128);
定义游标
- DECLARE ordernumbers CURSOR
- FOR
- SELECT callee_name FROM account_tbl where acct_timeduration=10800;
- DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_departments=1;
- SET no_more_departments=0;
打开游标
- OPEN ordernumbers;
循环所有的行
- REPEAT
- -- Get order number
- FETCH ordernumbers INTO o;
- update account set allMoneyallMoney=allMoney+72,lastMonthConsumelastMonthConsume=lastMonthConsume-72 where NumTg=@o;
循环结束
- UNTIL no_more_departments
- END REPEAT;
关闭游标
- CLOSE ordernumbers;
以上的相关内容就是对MySQL游标使用笔记的介绍,望你能有所收获。
- MySQL游标的使用笔记大全
- MySQL游标的使用笔记大全
- 《MySQL必知必会学习笔记》:游标的使用
- mysql 游标的使用
- mysql 游标的使用
- mysql游标的使用
- MYSQL游标的使用
- MySQL游标的使用
- mysql游标的使用
- mysql 游标的使用
- Mysql的游标使用
- mysql游标的使用
- MySQL游标的使用
- mysql 游标的使用
- MySql游标的使用
- mysql 游标的使用
- MySql 游标的使用
- mysql游标的使用
- Ubuntu8.04 更新Linux内核步骤
- 地址符号 &&&&
- 简单字符串比较
- SystemVerilog笔记------散记
- AS3.0自定义滚动条(滚动内容可以为Sprite或MovieClip等)
- MySQL游标的使用笔记大全
- linux下查出cpu占用过高线程
- GL_ALPHA/GL_LUMINANCE/GL_INTENSITY之差别
- 高质量C\C++编程(一)
- 浅谈Javascript中undefined和null的区别
- 自己写个启动和关闭oracle服务的bat文件
- SQL多表连接查询(详细实例)
- UNICODE下字符转换(持续更新,欢迎补充)
- 百度地图 JavaScript API