В этом учебном пособии вы узнаете, как использовать MariaDB оператор FETCH для извлечения следующей строки для курсора в MariaDB с синтаксисом и примерами.
Описание
Цель использования курсора, в большинстве случаев, состоит в том, чтобы извлечь строки из вашего курсора, чтобы можно было выполнить какую-либо операцию с данными. После открытия вашего курсора следующим шагом будет использование оператора FETCH для извлечения строк из вашего курсора.
Синтаксис
Синтаксис оператора FETCH в MariaDB:
Параметры или аргументы
- cursor_name
- Имя курсора, из которого вы хотите получить строки.
- variable_list
- Список переменных, разделенных запятыми, в которых вы хотите сохранить результирующий набор курсора.
Пример
Давайте посмотрим, как получить следующую строку для курсора с помощью оператора FETCH в MariaDB.
Например, вы можете задать курсор в MariaDB следующим образом:
1 2 3 4 |
DECLARE c1 CURSOR FOR SELECT SUM(file_size) FROM pages WHERE site_name = name_in; |
Команда, которая будет использоваться для извлечения данных из этого курсора:
1 |
FETCH c1 INTO TotalSize; |
Это приведет к извлечению значения SUM (file_size) в переменную с именем TotalSize.
Ниже приведена функция, которая демонстрирует, как использовать оператор FETCH.
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 FindSize ( name_in VARCHAR(50) ) RETURNS INT READS SQL DATA BEGIN DECLARE done INT DEFAULT FALSE; DECLARE TotalSize INT DEFAULT 0; DECLARE c1 CURSOR FOR SELECT SUM(file_size) FROM pages WHERE site_name = name_in; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN c1; FETCH c1 INTO TotalSize; CLOSE c1; RETURN TotalSize; END; // DELIMITER ; |