|
||
|
|
Conheça o Plugfeed | » Início » Desenvolvimento » Banco de dados e SQL » SQL Server 2005 New Features: A cláusula FOR XML
Conheça o Plugfeed | » Início » Desenvolvimento » Banco de dados e SQL » SQL Server 2005 New Features: A cláusula FOR XML
--> |
|
Avaliação:
![]() ![]() ![]() ![]() | Publicado em: 31/01/2007SQL Server 2005 New Features: A cláusula FOR XML
Gustavo Maia Aguiar é graduado em Administração de Empresas e pós-graduado em bancos de dados, atua na área de tecnologia de informação desde 2001, exercendo funções de desenvolvedor, analista, administrador de banco de dados (DBA) e administrador de dados (AD). É profissional certificado (MCP, MOS, MCDBA, MCAD, MCTS, MCITP, MCT, MVP e Itil Certified Professional). Já trabalhou em instituições do governo, iniciativa privada e parceiros Microsoft em atividades de suporte, consultoria e treinamento. É membro ativo e moderador dos fóruns de SQL Server do MSDN e TechNet e das comunidades SQL Server Brasil e SQL Brasil (Orkut). Semanalmente publica artigos de banco de dados e SQL Server em seu blog.
SQL Server 2005 New Features: A cláusula FOR XML
O manuseio de dados no formato XML é uma necessidade cada vez mais presente no desenvolvimento de aplicações. Interoperabilidade, separação entre conteúdo e formatação, geração de arquivos em um padrão universal são alguns dos benefícios que o XML pode prover. A maioria das linguagens de programação já disponibiliza estruturas próprias para lidar com XML (XmlDocument, XmlTextReader, XStream, XmlOutputter xml_parser_create, etc). Embora o padrão XML seja cada vez mais uma realidade, é possível que em algumas situações seja necessário retornar um dados no formato XML diretamente do banco de dados (coexistência com sistemas legados, geração de documentos XML em um processo de ETL, etc). A partir do SQL Server 2000 foi disponibilizada a cláusula FOR XML que permite retornar dados do SQL Server já no formato XML. Na ocasião do lançamento do SQL Server 2000, alguns padrões XML (XPath, XQuery, etc) ainda não estavam totalmente finalizados pelo comitê responsável, o W3C. Assim algumas limitações em relação ao padrão atual existem no SQL Server 2000. Após o lançamento do SQL Server 2005, boa parte desses padrões já estava mais amadurecida e estável permitindo diversas implementações desses padrões no SQL Server 2005 que não estavam presentes no SQL Server 2000. As explicações a seguir sobre o funcionamento da cláusula FOR XML são referentes ao SQL Server 2005 embora boa parte de seu funcionamento seja aplicável ao SQL Server 2000. A cláusula FOR XML é uma das formas mais comuns de se recuperar dados em XML diretamente do SQL Server 2005. Embora o tipo de dados XML* esteja disponível, esse tipo de dados não é a mesma coisa que a utilização da cláusula FOR XML. Ainda que o resultado final possa ser o mesmo, o tipo de dados XML armazena dados já no formato XML enquanto a cláusula FOR XML solicita ao SQL Server que retorne dados tabulares em um formato XML sem alterar a natureza tabular desses dados. * Esse tipo de dados será abordado em um artigo posterior CLAUDIO DE CARVALHO <CLAUDIOCARVALHO@DEVIR.COM.BR>
Ajudou-me bastante ter o entendimento do assunto.
![]() ![]() ![]() ![]() ![]() Luciano <luciano.alberti@bennersaude.com.br>
Ok, o documento é realmente muito esclarecedor. Porém estou com dificuldades para gerar isto em uma stored procedure. Realmente o FOR XML apenas pode ser usado para saida direta ao client? Não estou vendo uma saída prática para isto. Obrigado
![]() ![]() ![]() ![]() ![]() Ronaldo <rcampospereira@gmail.com>
Muito bom os comentários sobre a questão do uso do XPath, agora a dificuldade encontro quando estou armazenando informações em XML e gostaria de atualizá-las via XPath em um Campo Text por exemplo, ainda não encontrei uma forma de atualizar algum valor de um elemento baseado do ID de uma linha por exemplo. tipo ainda não encontrei uma função ou procedure que faça uma tarefa de fazer por exemplo um comando do tipo :
Update tabela_fisica set campoxml = updatexml(campoxml,'Regiao/UF/Nome/Municipio',valornovo) WHERE equals_path(campoxml,'Regiao/Nome') = 'Centro Oeste' and equals_path(campoxml,'Regiao/UF') = 'GO' and equals_path(campoxml,'Regiao/UF/MUNICIPIO') = 'Araçu' por exemplo Ainda estou a procura para o Uso no SQL Server 2000 senao tiver no 2005 server ??? ![]() ![]() ![]() ![]() ![]() aline carare candido <alinecarrare@hotmail.com>
bom de mais
![]() ![]() ![]() ![]() ![]() Jose Orlando Rocha <orocha@correios.com.br>
Estou buscando importar arquivos XML para um banco de dados de uma aplicação que estamos desenvolvendo.
Pelo que li e entendi, penso que com o artigo poderei fazer a importação. Rocha ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
|
|