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
Publicar un comentario