Consulta XML de SQL Server

Consulta XML de SQL Server
XML o el lenguaje de marcado extensible es un lenguaje de marcado para el transporte y el almacenamiento de datos. XML es simple y muy descriptivo en su naturaleza. Esto lo convierte en un lenguaje muy común para compartir información entre plataformas y aplicaciones.

En esta guía, aprenderá cómo usar datos XML en SQL Server. Discutiremos la creación de información XML a partir de tablas existentes, cargando documentos XML y más.

Empezando

Para comprender mejor cómo usar datos XML en SQL Server, primero crearemos datos de muestra como se muestra en las siguientes consultas:

-- Crear base de datos de prueba
Usuarios de creaciónatabase;
-- cambiar db;
usar usuarios;
createTableUser_info (
Id intidentidad (1,1) Not NullPrimary Key,
nameVarchar (125),
Envíe un correo electrónico a Varchar (255),
Departamento Varchar (50),
dinero salarial
);
InsertinTouser_info (nombre, correo electrónico, departamento, salario)
Valores ('Brandon Benítez', '[email protected] ',' Game Developer ', $ 140000),
('Paulina Bowman', '[email protected] ',' FullStack Developer ', $ 133000),
('Carl Crawford', '[email protected] ',' Frontend Developer ', $ 110000),
('Brian Booth', '[email protected] ',' Desarrollador de bases de datos ', $ 150000),
('Jasmin Pham', '[email protected] ',' WordPress Developer ', $ 102000),
('Tamara Davidson', '[email protected] ',' Graphics Developer ', $ 122000),
('Jaylan Ho', '[email protected] ',' DevOps Developer ', $ 111000),
('Winfred Fleming', '[email protected] ',' desarrollador de backend ', $ 145000);

Una vez que tenemos los datos de la muestra, podemos proceder a aprender a trabajar con XML en SQL Server.

Convertir la tabla SQL en XML

Podemos convertir datos de una tabla SQL en XML utilizando el Auto XML y para las declaraciones de ruta XML.

Por ejemplo, para convertir la tabla de muestra anterior en XML, podemos ejecutar la consulta como:

Seleccionar * de user_info
para XML Auto;

La consulta anterior devolverá una cadena XML como se muestra:

En SQL Server Management Studio, puede hacer clic en el enlace XML para mostrar y formatear los datos XML en un formato legible como:

Observe que el XML contiene 5 entidades de usuario con cada columna de la tabla como atributo y su valor asociado.

También puede usar la ruta para XML para convertir una tabla en XML. Esta opción convierte cada registro en la tabla como elemento y columnas como elementos anidados.

Un ejemplo es como se muestra:

Seleccionar * de user_info
para el camino xml

La consulta debe devolver los datos XML como se muestra:

Aquí, cada registro en la tabla se representa como un elemento con las columnas y valores anidados en el elemento principal.

Para cambiar el nodo raíz de una fila a un nombre personalizado, podemos hacer lo siguiente:

Seleccionar * de user_info
para el camino xml

Cargar el archivo XML en SQL

Podemos cargar datos XML de un archivo utilizando la instrucción OpenRowset. Considere el siguiente ejemplo:

createTableUser_xml (
xmldataxml
);
insertintouser_xml (xmldata)
SelectConvert (xml, bulkcolumn) asbulkcolumn
fromOpenRowset (bulk'c: \ users \ cs \ documents \ user_info.xml ', single_blob) ascorrelation_name;
seleccionar * fromUser_xml;

La consulta debe importar el archivo XML especificado en la tabla creada.

Convertir XML en mesa

Para convertir los datos de un archivo XML en una tabla, podemos usar la función sp_xml_preparedocument y openxml.

-- convertir XML en mesa
declarar @user_info xml
Seleccione @user_info = info
fromOpenRowset (a granel 'c: \ users \ cs \ documents \ user_info.xml ', single_blob) asuser_info (info)
Seleccionar @user_info
declarar @hdoc int
Exec sp_xml_preparedocument @hdoc output, @info_info
seleccionar *
fromopenxml (@hdoc, '/user_info/user_info', 2)
con(
nameVarchar (125),
Envíe un correo electrónico a Varchar (255),
Departamento Varchar (50),
dinero salarial
)
Ejec sp_xml_removeDocument @hdoc

La consulta debe analizar el archivo XML y convertir los atributos a una tabla.

Conclusión

Esta guía cubre los conceptos básicos de trabajar con datos XML en el servidor SQL, creando información XML a partir de tablas existentes y cargando los documentos XML. Esperamos que hayas encontrado este artículo útil. Consulte más artículos de Sugerencia de Linux para obtener más consejos e información de SQL Server.