MariaDB: declarar un cursor

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

MariaDB: declarar un cursor

Este tutorial de MariaDB explica cómo declarar un cursor En MariaDB, con sintaxis y ejemplos.

describir

Un cursor es una instrucción SELECT definida en la sección de declaración de un procedimiento almacenado en MariaDB.

sintaxis

La sintaxis para declarar un cursor en MariaDB es:

DECLARE cursor_name CURSOR FOR
  select_statement;

parámetro o parámetro

cursor_name El nombre asignado al cursor. select_statement La instrucción SELECT asociada con el cursor.

ejemplo

Veamos cómo declarar un cursor en MariaDB.

Por ejemplo:

DECLARE c1 CURSOR FOR
  SELECT SUM(file_size)
  FROM pages
  WHERE site_name = name_in;

El conjunto de resultados de este cursor son todos los valores de site_id donde site_name coincide con la variable name_in.

A continuación se muestra una función que utiliza este cursor.

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 ;

Luego puede llamar a la nueva función (que contiene el cursor) de la siguiente manera:

SELECT FindSize ('TechOnTheNet.com');