Dominar integrações é uma habilidade importante para técnicos que ganham como diretores, seja para fazer troubleshooting ou implementar processos de gestão do negócio.
Nesse contexto, mostrarei como importar e exportar XML no SQL com apenas uma linha de comando, além de converter tabelas do SQL para XML, também com apenas uma linha de comando!
Confira aqui:
Script da aula
------------------------------------------------------------------ -- Como importar arquivos XML no SQL ------------------------------------------------------------------ -------------------------------------------------- -- Requisitos para o teste -------------------------------------------------- /* == Salvar em "c:\tmp\pessoas.xml" o seguinte conteúdo: <pessoas> <pessoa id="1"> <nm>Priscila Laborão</nm> <profissao>Recrutadora</profissao> </pessoa> <pessoa id="2"> <nm>Tiragato Dakatola</nm> <profissao>Mágico</profissao> </pessoa> <pessoa id="3"> <nm>Ric Wyndfuck</nm> <profissao>Usineiro</profissao> </pessoa> </pessoas> */ -------------------------------------------------- -- Arquivo XML =&gt; Variável -------------------------------------------------- declare @x xml = (select bulkcolumn from openrowset (bulk 'c:\tmp\pessoas.xml', single_clob) a) -- single_blob = binário | single_clob = texto select @x as [xml] -------------------------------------------------- -- Variável XML =&gt; Tabela -------------------------------------------------- select pessoas.pessoa.value('@id[1]', 'int') as id, pessoas.pessoa.value('nm[1]', 'varchar(100)') as nm, pessoas.pessoa.value('profissao[1]', 'varchar(100)') as profissao from @x.nodes('pessoas/pessoa') as pessoas(pessoa) -------------------------------------------------- -- Tabela =&gt; Variável XML -------------------------------------------------- -- Tabela relacional declare @pessoas table (id int, nm varchar(100), profissao varchar(100)) insert into @pessoas values (1, 'Priscila Laborão', 'Recrutadora'), (2, 'Tiragato Dakatola', 'Analista de TI'), (3, 'Ric Wyndfuck', 'Usineiro') -- Conversão de tabela para XML com XML AUTO select * from @pessoas as pessoa for xml auto, root('pessoas'), elements -- Conversão de tabela para XML com XML AUTO, ELEMENTS select * from @pessoas as pessoa for xml auto, root('pessoas'), elements -- Conversão de tabela para XML com XML PATH select id as "@id", -- @alias define o campo como "atributo" ao invés de "elemento" nm, profissao from @pessoas for xml path ('pessoa'), root ('pessoas') go