cart-7003453_1280-removebg-preview
¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)
Procedimiento imprimir_Nombre ()

Tiempo de lectura estimado: 3 minutos

Procedimiento imprimir_Nombre ()

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: 1 Promedio: 5)

Deja un comentario

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)
error: Content is protected !!
Scroll al inicio
Hablemos de Android: Novedades y ofertas | Reseñas de electrónica
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.