mysql cursor 游标

cursor

1.  declare

    eg: declare c1 cursor for ....(sql select salary from employees;) 

    declare <游标名> cursor for <select语句>;


2.  open

    eg: open c1;

    open <游标名>;


3.  operation
    eg: loop
            fetch c1 into a;
        end loop;

    fetch <游标名> into <变量1>,<变量2>...

    

4.  close

    eg: close c1;

    close <游标名>;

 

举例说明:

delimiter //
create procedure p_11()
begin
 declare c_total float(8,2);
 declare c_name varchar(20);
 declare c_salary float(8,2);
 declare c_comm float(3,2);
 declare c1 cursor for select name, salary, comm from employees;
 declare exit handler for not found
 begin  close c1; end;
 open c1;
 loop 
   fetch c1 into c_name, c_salary, c_comm;
   select ( c_salary * ifnull(c_comm,0) + c_salary ) into c_total from dual;
   update salary set salary=c_total where name=c_name;
 end loop;
 close c1;
end
//
delimiter ;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值