Entrada 3

 Fecha: [19/03/2026]

Inicio: [10:00] | Fin: [12:00] | Total: [2 horas]

Presentes: Matías Benavides Sandoval / Sebastián Ramírez Abarca

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

¿QUÉ HICIMOS HOY?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. Creamos los dos procedimientos almacenados requeridos por el enunciado: - sp_GetEmpleados: retorna todos los empleados ordenados por nombre ascendente - sp_InsertEmpleado: valida duplicados por nombre (LOWER + LTRIM + RTRIM) y retorna Resultado=0 si fue exitoso o Resultado=1 si el nombre ya existe
2. Verificamos que ambos SPs quedaron correctamente en EmpleadosDB >> Programación >> Procedimientos almacenados

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

PROBLEMAS ENCONTRADOS Y CÓMO SE RESOLVIERON

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Problema 1: Descripción: Al ejecutar las pruebas de los SPs apareció error "No se pudo encontrar el procedimiento almacenado dbo.sp_GetEmpleados" Mensaje de error: "No se pudo encontrar el procedimiento almacenado 'dbo.sp_GetEmpleados'" Solución: El error era de contexto, las pruebas se ejecutaron en una pestaña diferente a donde se crearon los SPs. Al verificar en el explorador de objetos los procedimientos sí estaban creados correctamente.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

DUDAS Y DIVERGENCIAS DE CRITERIO

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Dudas acerca de los estándares de cómo nombrar las variables y los SP.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

AVANCE DEL CÓDIGO (si aplica)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Se crearon los dos procedimientos almacenados en MS SQL Server:

-- SP 1: Lista todos los empleados ordenados por nombre
CREATE PROCEDURE dbo.sp_GetEmpleados
AS
BEGIN
    SET NOCOUNT ON;
    SELECT Id, Nombre, Salario
    FROM   dbo.Empleado
    ORDER  BY Nombre ASC;
END;
GO
-- SP 2: Inserta un empleado, valida duplicado por nombre
CREATE PROCEDURE dbo.sp_InsertEmpleado
    @Nombre    VARCHAR(128),
    @Salario   MONEY,
    @Resultado INT OUTPUT
AS
BEGIN
    SET NOCOUNT ON;

    IF EXISTS (
        SELECT 1 FROM dbo.Empleado
        WHERE LOWER(LTRIM(RTRIM(Nombre))) = LOWER(LTRIM(RTRIM(@Nombre)))
    )
    BEGIN
        SET @Resultado = 1;
        RETURN;
    END

    INSERT INTO dbo.Empleado (Nombre, Salario)
    VALUES (@Nombre, @Salario);

    SET @Resultado = 0;
END;

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

MORALEJAS / CONSEJOS / BUENAS PRÁCTICAS

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Investigar bastante sobre cómo crear los SP, saber que se tienen que ejecutar para que se guarden. 

En SSMS cada pestaña puede estar en un contexto diferente, siempre verificar en el explorador de objetos.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

PRÓXIMA SESIÓN: ¿QUÉ SIGUE?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Se intentará realizar las siguientes tareas:

- Configurar connection.ts con la IP de Hamachi (25.0.119.25) y probar que Node.js se conecta a la BD.

- Instalar dependencias para el uso de Typescript.

Comentarios

Entradas más populares de este blog

Entrada 4