Optimización de Base de Datos: Procedimientos Almacenados SQL para Gestión de Empleados

Clasificado en Formación y Orientación Laboral

Escrito el en español con un tamaño de 3,96 KB

Gestión de Datos de Empleados con Procedimientos Almacenados SQL

Este documento presenta una serie de ejemplos prácticos sobre la creación y uso de procedimientos almacenados en SQL para la gestión de una tabla de empleados. Se abordan operaciones comunes como la inserción de registros, la consulta de datos específicos y la obtención de estadísticas.

1. Creación de la Tabla de Empleados

Primero, se define la estructura de la tabla Empleado2, que almacenará la información de los empleados. Se establecen las columnas con sus respectivos tipos de datos y la clave primaria.


CREATE TABLE Empleado2 (
    No_Emp INT PRIMARY KEY,
    Apellido VARCHAR(40),
    Puesto VARCHAR(40),
    Fecha_Alta DATE,
    Salario MONEY,
    Comision MONEY,
    Depto_No INT
);

SET DATEFORMAT DMY;

2. Procedimiento Almacenado para Inserción de Empleados (ejemplo1)

Este procedimiento permite insertar nuevos registros en la tabla Empleado2, recibiendo todos los datos del empleado como parámetros. Se incluyen varios ejemplos de ejecución para poblar la tabla.


CREATE PROCEDURE ejemplo1
    @No_Emp INT,
    @Apellido VARCHAR(40),
    @Puesto VARCHAR(40),
    @Fecha_Alta DATE,
    @Salario MONEY,
    @Comision MONEY,
    @Depto_No INT
AS
INSERT INTO Empleado2 (No_Emp, Apellido, Puesto, Fecha_Alta, Salario, Comision, Depto_No)
VALUES (@No_Emp, @Apellido, @Puesto, @Fecha_Alta, @Salario, @Comision, @Depto_No);

-- Formato de los datos: No_Emp, Apellido, Puesto, Fecha_Alta, Salario, Comisión, Depto_No
EXECUTE ejemplo1 7123, 'Galindo', 'Vendedor', '10/09/2000', 9000, 5000, 5;
EXECUTE ejemplo1 7839, 'Hurtado', 'Director', '24/06/1990', 80000, 0, 1;
EXECUTE ejemplo1 7421, 'Sánchez', 'Analista', '10/09/2010', 14000, 0, 10;
EXECUTE ejemplo1 7024, 'Almanza', 'Empleado', '15/04/2009', 12000, 0, 10;
EXECUTE ejemplo1 7451, 'Niño', 'Director', '26/12/2010', 90000, 0, 5;
EXECUTE ejemplo1 7853, 'López', 'Vendedor', '12/12/2015', 9900, 4500, 5;
EXECUTE ejemplo1 7759, 'Martínez', 'Empleado', '19/01/2014', 12500, 0, 10;

SELECT * FROM Empleado2;

3. Procedimiento para Obtener la Última Fecha de Ingreso por Departamento (ejemplo2)

Este procedimiento devuelve la fecha de alta más reciente de un empleado dentro de un departamento específico. Es útil para identificar el ingreso más reciente en una sección.


ALTER PROCEDURE ejemplo2
    @Depto_No INT
AS
SELECT MAX(Fecha_Alta) FROM Empleado2
WHERE Depto_No = @Depto_No;

EXECUTE ejemplo2 10;

4. Procedimiento para Contar Empleados por Departamento (ejemplo3)

Este procedimiento calcula el número total de empleados que pertenecen a un departamento determinado. Proporciona una métrica rápida sobre la dotación de personal por área.


CREATE PROCEDURE ejemplo3
    @Depto_No INT
AS
SELECT COUNT(No_Emp) FROM Empleado2
WHERE Depto_No = @Depto_No;

EXECUTE ejemplo3 10;

5. Procedimiento para Contar Empleados con Salario Superior (ejemplo4)

Este procedimiento devuelve la cantidad de empleados cuyo salario es igual o superior a un valor especificado. Permite identificar el personal con ingresos por encima de un umbral.


CREATE PROCEDURE ejemplo4
    @Salario MONEY
AS
SELECT COUNT(No_Emp) FROM Empleado2
WHERE Salario >= @Salario;

EXECUTE ejemplo4 10000;

6. Procedimiento para Contar Empleados por Fecha y Departamento (ejemplo5)

Este procedimiento cuenta el número de empleados que ingresaron en una fecha específica y pertenecen a un departamento determinado. Es útil para consultas combinadas de fecha y ubicación.


CREATE PROCEDURE ejemplo5
    @Fecha_Alta DATE,
    @Depto_No INT
AS
SELECT COUNT(No_Emp) FROM Empleado2
WHERE Fecha_Alta = @Fecha_Alta AND Depto_No = @Depto_No;

EXECUTE ejemplo5 '10/09/2000', 5;

Entradas relacionadas: