Consulta XML do SQL Server

Consulta XML do SQL Server
XML ou linguagem de marcação extensível é uma linguagem de marcação para transporte e armazenamento de dados. XML é simples e muito descritivo em sua natureza. Isso o torna uma linguagem muito comum para compartilhar informações entre plataformas e aplicativos.

Neste guia, você aprenderá a usar dados XML no SQL Server. Discutiremos a criação de informações XML a partir de tabelas existentes, carregando documentos XML e mais.

Começando

Para entender melhor como usar os dados XML no SQL Server, primeiro criaremos dados de amostra, como mostrado nas consultas a seguir:

-- Crie banco de dados de teste
Usuários criados de que os usuários;
-- switch db;
usar usuários;
createTableUser_info (
Id Intentity (1,1) NotNullPrimary,
NameVarchar (125),
Email Varchar (255),
Departamento Varchar (50),
dinheiro salarial
);
insertIntouser_info (nome, email, departamento, salário)
valores ('Brandon Benitez', '[email protected] ',' Game Developer ', US $ 140000),
('Paulina Bowman', '[email protected] ',' FullStack Developer ', US $ 133000),
('Carl Crawford', '[email protected] ',' Frontend Developer ', US $ 110000),
('Brian Booth', '[email protected] ',' Desenvolvedor de Banco de Dados ', US $ 150000),
('Jasmin Pham', '[email protected] ',' desenvolvedor do WordPress ', US $ 102000),
('Tamara Davidson', '[email protected] ',' desenvolvedor de gráficos ', US $ 122000),
('Jaylan Ho', '[email protected] ',' DevOps Developer ', US $ 111000),
('Winfred Fleming', '[email protected] ',' desenvolvedor de back -end ', US $ 145000);

Depois de termos os dados da amostra, podemos continuar a aprender a trabalhar com XML no SQL Server.

Converta a tabela SQL em XML

Podemos converter dados de uma tabela SQL em XML usando as instruções para XML Auto e para XML Path.

Por exemplo, para converter a tabela de amostra anterior em XML, podemos executar a consulta como:

Selecione * de user_info
para XML Auto;

A consulta acima retornará uma string xml como mostrado:

No SQL Server Management Studio, você pode clicar no link XML para mostrar e formatar os dados XML em um formato legível como:

Observe que o XML contém 5 entidades de usuário com cada coluna da tabela como atributo e seu valor associado.

Você também pode usar o caminho para XML para converter uma tabela em XML. Esta opção converte cada registro na tabela como um elemento e colunas como elementos aninhados.

Um exemplo é como mostrado:

Selecione * de user_info
para o caminho XML

A consulta deve retornar os dados XML como mostrado:

Aqui, cada registro na tabela é representado como um elemento com as colunas e valores aninhados no elemento principal.

Para alterar o nó raiz de uma linha para um nome personalizado, podemos fazer o seguinte:

Selecione * de user_info
para o caminho XML

Carregue o arquivo XML para SQL

Podemos carregar dados XML de um arquivo usando a instrução OpenRowset. Considere o seguinte exemplo:

createTableUser_xml (
xmldataxml
);
insertIntouser_xml (xmldata)
SelectConvert (XML, BulkColumn) AsbulkColumn
FromOpenRowset (Bulk'c: \ Users \ cs \ documents \ user_info.xml ', single_blob) ascorreLation_name;
selecione * FromUser_XML;

A consulta deve importar o arquivo XML especificado para a tabela criada.

Converter xml em tabela

Para converter dados de um arquivo XML em uma tabela, podemos usar a função sp_xml_preparedocument e openxml.

-- converter xml em tabela
Declare @User_info XML
Selecione @User_info = Info
FromOpenRowset (Bulk 'C: \ Users \ CS \ Documents \ User_info.xml ', single_blob) asuser_info (info)
Selecione @User_info
Declare @hdoc int
EXEC SP_XML_PREPAREDOCUMENT @HDOC Output, @info_info
Selecione *
Fromopenxml (@hdoc, '/user_info/user_info', 2)
com(
NameVarchar (125),
Email Varchar (255),
Departamento Varchar (50),
dinheiro salarial
)
EXEC SP_XML_REMOVEDOCUMENT @HDOC

A consulta deve analisar o arquivo XML e converter os atributos em uma tabela.

Conclusão

Este guia abrange o básico de trabalhar com dados XML no servidor SQL, criando informações XML das tabelas existentes e carregando os documentos XML. Esperamos que você tenha achado este artigo útil. Confira mais artigos de dica do Linux para obter mais dicas e informações do servidor SQL.