MySQL游标的使用
- MySQL游标的使用
- A simple cursor of mysql
- step1:
- 新建表tb_test;
- create table tb_test(
- id int
- );
- insert into tb_test values (‘1‘);
- insert into tb_test values (‘2‘);
- insert into tb_test values (‘3‘);
- step2:
- 声明存储过程sp_test;
- delimiter $$
- create procedure sp_test()
- BEGIN
- declare tmp int default 0;
- declare sum int default 0;
- declare done int default -1;
- /* 声明游标 */
- declare myCursor cursor for select id from tb_test;
- /* 当游标到达尾部时,mysql自动设置done=1 */
- declare continue handler for not found set done=1;
- /* 打开游标 */
- open myCursor;
- /* 循环开始 */
- myLoop: LOOP
- /* 移动游标并赋值 */
- fetch myCursor into tmp;
- if done = 1 then
- leave myLoop;
- end if;
- /* do something */
- set sum = sum + tmp;
- /* 循环结束 */
- end loop myLoop;
- insert into tb_test values(sum);
- /* 关闭游标 */
- close myCursor;
- END
- $$
- delimiter ;
- step3:
- call sp_test();
- select * from tb_test();
- +----+
- | id |
- +----+
- | 1 |
- | 2 |
- | 3 |
- | 6 |
- +----+
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。