MySQL FETCH语句-提取游标
时间:2019-02-04 12:52:34 来源:igfitidea点击:
本教程将学习如何使用FETCH语句为游标获取下一行。
在大多数情况下,使用游标的目的是从游标检索行,以便可以对数据执行某种类型的操作。在声明并打开游标之后,下一步就是使用FETCH语句从游标中获取行数据。
语法
MySQL中FETCH语句的语法为:
FETCH [ NEXT [ FROM ] ] cursor_name INTO variable_list;
参数 | 说明 |
---|---|
cursor_name | 要获取行的游标的名称。 |
variable_list | 要将游标结果集存储在其中的变量列表(用逗号分隔)。 |
让我们看一下如何使用MySQL中的FETCH语句获取游标的下一行。
首先在MySQL中定义一个游标:
DECLARE c1 CURSOR FOR SELECT site_id FROM sites WHERE site_name = name_in;
从该游标中获取数据:
FETCH c1 INTO siteID;
它将会提取第一个site_id值到变量site_ID中。
下面的函数演示如何了使用FETCH语句。
DELIMITER // CREATE FUNCTION FindSiteID ( name_in VARCHAR(50) ) RETURNS INT BEGIN DECLARE done INT DEFAULT FALSE; DECLARE siteID INT DEFAULT 0; DECLARE c1 CURSOR FOR SELECT site_id FROM sites WHERE site_name = name_in; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN c1; FETCH c1 INTO siteID; CLOSE c1; RETURN siteID; END; // DELIMITER ;