Como transformar dados xml em tabelas sql

Video: 34 - T-SQL - Subconsultas (subqueries) com Tabelas Derivadas - SQL Server

Até recentemente, quando se pensa sobre a relação entre SQL e XML, a ênfase tem sido na conversão de dados da tabela SQL em XML para torná-lo acessível na Internet. SQL: 2008 abordou o problema complementar de converter dados XML em tabelas SQL para que ele possa ser facilmente consultado usando instruções SQL padrão. o XMLTABLE pseudo-função executa esta operação. A sintaxe para XMLTABLE é:

XMLTABLE ([namespace-declaração,] XQuery-expressão [PASSANDO-lista argumento] COLUNAS XMLtbl-column-definições

onde a lista de argumento é:

valor-expressão como identificador

e XMLtbl-column-definições é uma lista separada por vírgulas de definições de coluna, que pode conter:

column-name PARA ordinalidade


e / ou:

nome da coluna tipo de dados [POR REF | POR VALOR] [default-cláusula] [PATH XQuery-expressão]

Video: 8 - T-SQL - INSERT INTO ... VALUES - Inserir dados nas Tabelas - SQL Server

Aqui está um exemplo de como você pode usar XMLTABLE para extrair dados de um documento XML em um pseudo-tabela SQL. Um pseudo-tabela não é persistente, mas em todos os outros aspectos, ele se comporta como uma tabela SQL regular. Se você quiser torná-lo persistente, você pode criar uma tabela com um CRIAR A TABELA declaração e, em seguida, inserir os dados XML para a tabela recém-criada.

clientphone SELECT. * FROMclients_xml, XMLTABLE ( `por US $ m em $ col / clientreturn $ m`PASSING clients_xml.client AS "col"COLUNAS"Nome do cliente" PERSONAGEM (30) PATH `ClientName`,"telefone" PERSONAGEM (13) PATH `telefone`) AS clientphone

Quando você executa esta instrução, você vê o seguinte resultado:

ClientName Telefone ------------------------------ ------------- Abe Abelson (714) 555-1111Bill Bailey (714) 555-2222Chuck de madeira (714) 555-3333 (3 fileiras em clientphone)

Publicações relacionadas