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 28 29 30 31 32 33 |
/* Ejercicio 15: Escribir un procedimiento que reciba una cadena y visualice el apellido y el número de empleado de todos los empleados cuyo apellido contenga la cadena especificada. Al finalizar visualizar el número de empleados mostrados. */ delimiter $$ drop procedure if exists 1x15 $$ create procedure 1x15(in cad tinytext) begin /* -- Mostrando las coincidencias enumerando las filas: set @col = 0; set @cadena = concat( 'select (@col := @col +1) as "Fila", e.emp_no as "Num. empleado", e.apellido as "Apellido" from empleados e where e.apellido like "%', cad ,'%"' ); prepare consulta from @cadena; execute consulta; deallocate prepare consulta; set @cadena = null; set @col = null; */ -- Mostrando las coincidencias y el total en dos tablas (y sin necesidad de preparar la sentencia): select e.emp_no as "Num. empleado", e.apellido as "Apellido" from empleados e where e.apellido like concat("%", cad ,"%"); select count(*) as 'Numero de empleados' from empleados e where e.apellido like concat("%", cad ,"%"); end $$ delimiter ; -- call 1x15('MA'); |