cursor
1. declare -> declare c1 cursor for ....(sql select salary from employees;)
2. open -> open c1;
3. operation ->
loop
fetch c1 into a;
end loop;
4. close -> close c1;
实例:
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 ;
================