В этом учебном пособии вы узнаете, как объявить курсор (Declare a Cursor) в MySQL с синтаксисом и примерами.
Описание
Курсор - это инструкция SELECT, которая определена в разделе объявления вашей хранимой программы в MySQL.
Синтаксис
Синтаксис объявления курсора в MySQL:
DECLARE cursor_name CURSOR FOR select_statement;
Параметры или аргументы
cursor_name – наименование назначенное курсору
select_statement – оператор SELECT связанный с курсором
Пример
1 2 3 4 |
DECLARE c1 CURSOR FOR SELECT site_id FROM sites WHERE site_name = name_in; |
Результирующим набором этого курсора являются все значения site_id, где site_name соответствует переменной name_in.
Ниже приведена функция, которая использует этот курсор.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
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 ; |
Затем вы можете вызвать свою новую функцию (содержащую курсор) следующим образом:
1 |
SELECT FindSiteID ('Google.com'); |