Entrada #4 - 10/4/2024 - 4:00pm a 5:35pm

Realizamos la carga a algunas clases desde el XML, el código para cargar es:

BEGIN


DECLARE @XML AS XML

SELECT @XML = BulkColumn 

FROM OPENROWSET(BULK 'D:\S3\Datos\Datos.xml', SINGLE_BLOB) AS x;


-- Insertar los datos del archivo XML en las tablas

INSERT INTO dbo.Puesto([Nombre]

, [SalarioxHora])

SELECT 

    Elemento.value('@Nombre'

, 'VARCHAR(64)') AS Nombre,

    

Elemento.value('@SalarioxHora',

'money') AS SalarioxHora


FROM @XML.nodes('/Datos/Puestos/Puesto') 

AS T(Elemento)


--


INSERT INTO dbo.TipoEvento([Id],[Nombre])


SELECT 

    Elemento.value('@Id'

, 'int') AS Id,

Elemento.value('@Nombre'

, 'VARCHAR(64)') AS Nombre


FROM @XML.nodes('/Datos/TiposEvento/TipoEvento') 

AS T(Elemento)


--


INSERT INTO dbo.TipoMovimiento([Id],[Nombre],

[TipoAccion])

SELECT 

    Elemento.value('@Id'

, 'int') AS Id,

Elemento.value('@Nombre'

, 'VARCHAR(64)') AS Nombre,

Elemento.value('@TipoAccion'

, 'VARCHAR(64)') AS TipoAccion


FROM @XML.nodes('/Datos/TiposMovimientos/TipoMovimiento') 

AS T(Elemento)


--


INSERT INTO dbo.Error([Codigo],

[Descripcion])

SELECT 


Elemento.value('@Codigo'

, 'int') AS Codigo,

Elemento.value('@Descripcion'

, 'VARCHAR(64)') AS Descripcion


FROM @XML.nodes('/Datos/Error/error') 

AS T(Elemento)


--


INSERT INTO dbo.Usuario([Id],[Username],

[Password])

SELECT 


Elemento.value('@Id'

, 'int') AS Id,

Elemento.value('@Nombre'

, 'VARCHAR(64)') AS Username,

Elemento.value('@Pass'

, 'VARCHAR(64)') AS Password


FROM @XML.nodes('/Datos/Usuarios/usuario') 

AS T(Elemento)


END;


En general no tuvimos problemas, solo cambiamos algunos "IDENTITY" ya que no debían estar, nada grave, en realidad

Comentarios

Entradas más populares de este blog

Entrada #9 - 19/4/2024 - 3:35pm a 4:15pm

Entrada #8 - 15/4/2024 - 5:46pm a 9:05pm

Entrada #10 - 20/4/2024 - 6:00pm a 9:00pm