什么是游标?
游标(cursor)是一个存储在MySQL服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。
- MySQL游标只能用于存储过程(和函数)。
为什么需要游标?
有时,需要在检索出来的行中前进或后退一行或多行。这就是使用游标的原因。
如何使用游标?
如何创建游标?
在创建存储过程中,在存储体体中使用 DECLARE 游标名 CURSOR
创建游标,后面跟 for 定义 查询语句。
DROP PROCEDURE IF EXISTS mysql_must_study.processorders;
DELIMITER $$
$$
CREATE PROCEDURE mysql_must_study.processorders()
BEGIN
DECLARE ordernumbers CURSOR
FOR
SELECT order_num
FROM mysql_must_study.orders;
END$$
DELIMITER ;
存储过程处理完成后,游标就消失(因为它局限于存储过程)。
如何打开和关闭游标?
使用 OPEN CLOSE 在存储过程打开和关闭游标。
DROP PROCEDURE IF EXISTS mysql_must_study.processorders;
DELIMITER $$
$$
CREATE PROCEDURE mysql_must_study.processorders()