¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
Procedimiento imprimir_Nombre () – Guía paso a paso

Tiempo de lectura estimado: 3 minutos

Procedimiento imprimir_Nombre ()

Anuncios
Publicidad

En este procedimiento llamado imprimir_Nombre, se recorre la columna llamada nombre.
Esta columna se encuentra dentro de la tabla clientes de la base de datos llamada tiendaonline,
Para recorrer cada fila utilizamos un cursor y el comando FETCH. En el vídeo anterior

Durante cada iteración del bucle pasará lo siguiente:

  • FETCH recupera un nombre desde el cursor y lo guarda en la variable var_nombre.
    Si ya no hay más filas, se activa el manejador de condiciones 'CONTINUE HANDLER FOR NOT FOUND', que
    pondrá el valor de la variable var_semaforo a TRUE, lo que provoca la salida del bucle (LEAVE).
    Si se recuperó un nombre correctamente, se imprime usando SELECT var_nombre AS nombre;.
    */
    -- Lo primero que haremos será establecer una base de datos donde comenzaremos a trabajar:

use tiendaonline;

-- Vemos la tabla sobre la que vamos a trabajar:

select * from clientes;

-- Se borrará el procedimiento si existe.

DROP PROCEDURE if exists imprimir_Nombre;

-- Cambiamos el punto y coma por el nuevo delimitador:

DELIMITER //

-- Creamos el procedimiento con el nombre imprimir_Nombre:

Procedimiento imprimir_Nombre ()
Procedimiento imprimir_Nombre ()

CREATE PROCEDURE imprimir_Nombre()

BEGIN

-- Variable que permite salir del bucle cuando no quedan más filas:

DECLARE var_semaforo boolean default 0;
DECLARE var_nombre varchar (50);

-- Declaramos el cursor:

DECLARE cNombreCursor CURSOR FOR select c.nombre from clientes as c;

-- Cuando no queden más filas la variable se pone a true:

DECLARE continue handler for not found SET var_semaforo = 1;

-- Abrimos el cursor para poder utilizarlo:

OPEN cNombreCursor;

-- Bucle llamado recorrer:

recorrer:loop
BEGIN

-- Asigna el nombre de la columna a la varible var_nombre:

fetch cNombreCursor into var_nombre;

-- Cuando var_semaforo es true se sale del bucle.

IF var_semaforo then leave recorrer; end if;
end;

-- El nombre se encuentra dentro del bucle para imprimir un nombre por resultado:

SELECT var_nombre AS nombre;

end loop;

-- Cerramos el cursor:

CLOSE cNombreCursor;

END //

-- Devolvemos el delimitador al punto y coma:

DELIMITER ;

-- Llamamos al procedimiento imprimir_Nombre():

CALL imprimir_Nombre ();

Procedimiento imprimir_Nombre ()

Seguir leyendo:

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Deja un comentario

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
error: Content is protected !!
Scroll al inicio
Hablemos de informática
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.