quinta-feira, 8 de agosto de 2013

XML no SQL Server


O método escolhido pelo SQL Server 2000 para permitir modificações em dados usando documentos XML é usando o data source OPENXML. Esta função prove a visualização dos dados em rowset.
Para usar o data source XML com T-SQL, o documento precisa ser validado e armazenado na memória em uma representação de árvore. Esta árvore representa as informações de cada nodo que o SQL Server 2000 terá que saber para preparar a linha de leitura.
No SQL Server 2000 existe uma stored procedure, chamada sp_xml_preparedocument, que irá converter o documento XML para ser representado internamente pelo SQL Server 2000.

SP_XML_PREPAREDOCUMENT


O OPENXML não pode trabalhar com uma string formatada em XML. O OPENXML vai ler os dados já devidamente formatados, pode ele não interpreta a estrutura de nodos. Por este motivo usamos o SP_XML_PREPAREDOCUMENT para converter o documento em um padrão que o SQL Server 2000 possa ler e interpretar.
Esta stored procedure cria uma representação temporária na memória com o formato de uma view.
A figura abaixo exibe uma estrutura de um documento XML usado em nosso exemplo.














Já a figura abaixo mostra como o SQL Server lê as informações depois que o documento passar pela stored procedure SP_XML_PREPAREDOCUMENT.










Segue a baixo o codigo para fazer a importação dos dados.

O código abaixo mostra como fazer uma importação do conteúdo XML para dentro de uma tabela temporária chamada #funcionario, a partir desta tabela é só copiar os dados de uma tabela do SQL Server para outra tabela. Não existe mistério nisso.

Segue durante o código o comentário de cada linha e comandos do SQL Server. 
















































Observação: nunca esqueça que é muito importante remover o conteúdo do documento XML da memória. 

bom pessoal espero que tenha ajudado alguém, e como sempre !!

clica, clica, clica...rsrsrs

Nenhum comentário:

Postar um comentário