mysql创建游标

游标用 DECLARE 语句创建。 DECLARE 命名游标,并定义相应的 SELECT 语句,根据需要带 WHERE 和其他子句。例如,下面的语句定义了名为 ordernumbers 的游标,使用了可以检索所有订单的 SELECT 语句。

输入:

create procedure processorders()
begin
declare ordernumbers cursor for select order_num from orders;
end;
登录后复制

分析:这个存储过程并没有做很多事情, DECLARE 语句用来定义和命名游标,这里为 ordernumbers 。 存储过程处理完成后,游标就消失(因为它局限于存储过程)。在定义游标之后,可以打开它。

mysql打开和关闭游标

游标用 OPEN CURSOR 语句来打开:

输入:

open ordernumbers;
登录后复制

分析:在处理 OPEN 语句时执行查询,存储检索出的数据以供浏览和滚动。

游标处理完成后,应当使用如下语句关闭游标:

输入:

close ordernumbers;
登录后复制

分析:CLOSE 释放游标使用的所有内部内存和资源,因此在每个游标不再需要时都应该关闭。

在一个游标关闭后,如果没有重新打开,则不能使用它。但是,使用声明过的游标不需要再次声明,用 OPEN 语句打开它就可以了。

隐含关闭 如果你不明确关闭游标,MySQL将会在到达 END 语句时自动关闭它。

下面是前面例子的修改版本:

输入:

create procedure processorders()
BEGIN
-- declare the cursor
declare ordernumbers cursor for
select order_num from orders;
-- Open the cursor
Open ordernumbers;
-- close the cursor
close ordernumbers;
END;
登录后复制

分析:这个存储过程声明、打开和关闭一个游标。但对检索出的数据什么也没做。

以上就是MySQL游标的创建与打开和关闭游标教程的详细内容,更多请关注Work网其它相关文章!

08-30 04:22