-- 1. Eliminar la tabla si existe y crearla
DROP TABLE IF EXISTS empleados;
CREATE TABLE empleados (
folio CHAR(8) PRIMARY KEY,
nombre VARCHAR(50),
apellido_paterno VARCHAR(50),
apellido_materno VARCHAR(50),
sueldo DECIMAL(10,2),
cantidadhijos INT,
departamento VARCHAR(50)
);
-- 2. Insertar registros
INSERT INTO empleados VALUES
('12345678', 'Juan', 'Pérez', 'Guzman', 307.00, 0, 'Contaduria'),
('87654321', 'Laura', 'Martinez', 'Lopez', 500.00, 2, 'Recursos Humanos'),
('13572468', 'Carlos', 'Ramirez', 'Diaz', 450.00, 1, 'Sistemas'),
('24681357', 'Ana', 'Hernandez', 'Torres', 600.00, 3, 'Finanzas'),
('11223344', 'Luis', 'Gomez', 'Perez', 390.00, 0, 'Contaduria'),
('99887766', 'Sofia', 'Castro', 'Mendez', 520.00, 2, 'Marketing');
-- 3. Eliminar procedimiento pa_empleados_sueldo si existe
DROP PROCEDURE IF EXISTS pa_empleados_sueldo;
-- 4. Crear procedimiento pa_empleados_sueldo
DELIMITER $$
CREATE PROCEDURE pa_empleados_sueldo()
BEGIN
SELECT nombre, apellido_paterno, apellido_materno, sueldo FROM empleados;
END $$
DELIMITER ;
-- 5. Ejecutar procedimiento pa_empleados_sueldo
CALL pa_empleados_sueldo();
-- 6. Eliminar procedimiento pa_empleados_hijos si existe
DROP PROCEDURE IF EXISTS pa_empleados_hijos;
-- 7. Crear procedimiento pa_empleados_hijos
DELIMITER $$
CREATE PROCEDURE pa_empleados_hijos()
BEGIN
SELECT nombre, apellido_paterno, apellido_materno, cantidadhijos
FROM empleados
WHERE cantidadhijos > 0;
END $$
DELIMITER ;
-- 8. Ejecutar procedimiento pa_empleados_hijos
CALL pa_empleados_hijos();
-- 9. Actualizar cantidad de hijos de un empleado y volver a ejecutar el procedimiento
UPDATE empleados SET cantidadhijos = 1 WHERE folio = '12345678';
CALL pa_empleados_hijos();