03/04/24 Cargar XML a la BD

 

Abril 03, 2024 

Integrantes presentes: Fernando Sánchez

Hora de inicio: 1:08 pm

Hora Fin: 5:43 pm

Objetivos propuestos: 
  • Utilizar el XML proporcionado para cargar datos de prueba a la base de datos

Objetivos realizados:
  •  Modificaciones a las tablas para aceptar los datos del XML
  • Creacion de un SP que recibe el XML y lo carga como varchar a una tabla
  • Creacion de un SP que toma los datos del varchar de la tabla y los carga en las tablas respectivas
 
Problemas encontrados:
  • En el XML de datos, el campo de empleados, el puesto se inserta como el nombre, sin embargo debería insertarse el idPuesto como FK

 

  • Se hizo un SP de prueba para insertar los puestos del XML a la tabla puesto, sin embargo esta solo agrega el último registro (Albañil)
ALTER PROCEDURE CargarXmlPuestos(@XMLData XML)
AS
BEGIN
  DECLARE @nombre NVARCHAR(50);
  DECLARE @salarioxhora MONEY;

  SELECT 
    @nombre = c.value('@Nombre', 'NVARCHAR(50)'),
    @salarioxhora = CAST(c.value('@SalarioxHora', 'nvarchar(50)') AS MONEY) 
  FROM @XMLData.nodes('/Datos/Puestos/Puesto') AS t(c)

  INSERT INTO dbo.Puesto (Nombre, Salario)
  VALUES (@nombre, @salarioxhora);
END;

 

  •  El siguiente SP hace posible cargar todos los registros de 'Puestos'

ALTER PROCEDURE CargarXmlPuesto (@XMLData XML)
AS
BEGIN
    INSERT INTO dbo.Puesto (Nombre, Salario)
    SELECT
        c.value('@Nombre', 'NVARCHAR(50)'),
        c.value('@SalarioxHora', 'MONEY')
    FROM @XMLData.nodes('/Datos/Puestos/Puesto') AS t(c);
END;

Comentarios

Entradas populares de este blog

13/04/24 Correcciones SPs

15/04/24 Implementación de los SPs y lógica de negocios

20/3/24 Creación de BD y tablas