一、游标的概念
游标是一个存储在MySQL服务器上的数据库查询,它不是一条select语句,而是被该语句检索出来的结果集。有了游标可以方便的对该结果集进行逐行处理。
二、游标的使用
1. 创建游标
-- declare语句定义了名为ordernumbers的游标。存储过程处理完成后,游标就会消失(因为它局限于存储过程)。
create procedure processorders()
begin
declare ordernumbers cursor
for
select order_num from orders;
end;
【注】不像多数DBMS,MySQL游标只能用于存储过程(和函数)。
2. 打开和关闭游标
-- 打开游标。在处理open语句时执行上面的select查询语句,存储检索出的数据以供浏览和滚动。
open ordernumbers;
-- 游标处理完成后,利用close语句释放游标使用的所有内部内存和资源。
close ordernumbers;
【注】当一个游标关闭后,如果需要再次使用它,可以使用open语句再次打开它。
如果你不明确关闭游标,MySQL将会在到达end语句时自动关闭它。
下面是前面例子的修改版本:
create procedure processorders()
begin
declare ordernumbers cursor
for
select order_num from orders;
open ordernumbers;
close orde