Conheça também: Onmasters . Ofertas . Divulgue! . Vai.la . Geraboleto . Baixa.la . Assista.la . Joga.la
» Início » Desenvolvimento » Banco de dados e SQL » SQL Server 2005 New Features: Os métodos XML - Parte 1 -->
 
Avaliação: | Publicado em: 17/07/2007
SQL Server 2005 New Features: Os métodos XML - Parte 1


O método Value

Esse método aplica uma consulta XPath sobre um tipo de dados XML, extrai um valor e realiza uma conversão para um tipo SQL. Segue abaixo alguns exemplos de como utilizar esse método:

-- Criação da tabela
CREATE TABLE #tblInformacoesFinanceiras (
 CPF CHAR(11),
 InformacoesFinanceiras XML)

-- Inserção de registros
INSERT INTO #tblInformacoesFinanceiras
 (CPF, InformacoesFinanceiras)
VALUES ('70014734590',
 '<?xml version="1.0"?>
 <InformacoesFinanceiras Tipo="Classificação">
  <TotalOperacoes>1</TotalOperacoes>
  <SaldoAtual>500</SaldoAtual>
  <TipoCliente>Bronze</TipoCliente>
 </InformacoesFinanceiras>'
)

INSERT INTO #tblInformacoesFinanceiras
 (CPF, InformacoesFinanceiras)
VALUES ('05249715300',
 '<?xml version="1.0"?>
 <InformacoesFinanceiras Tipo="Classificação">
  <TotalOperacoes>30</TotalOperacoes>
  <SaldoAtual>3000</SaldoAtual>
  <TipoCliente>Prata</TipoCliente>
 </InformacoesFinanceiras>'
)

INSERT INTO #tblInformacoesFinanceiras
 (CPF, InformacoesFinanceiras)
VALUES ('89241765301',
 '<?xml version="1.0"?>
 <InformacoesFinanceiras Tipo="Classificação">
  <TotalOperacoes>50</TotalOperacoes>
  <SaldoAtual>7000</SaldoAtual>
  <TipoCliente>Ouro</TipoCliente>
 </InformacoesFinanceiras>'
)

-- Extração de dados para um formato SQL Server
-- Extrai o tipo de informação financeira

SELECT
 CPF As Cliente,
 InformacoesFinanceiras.value(
 '(
/InformacoesFinanceiras/@Tipo)[1]','nvarchar(20)') As TipoInformacao
FROM
 #tblInformacoesFinanceiras

-- Extração de dados para um formato SQL Server
-- Extrai o total de operações, o saldo atual e o tipo de cliente

SELECT
 CPF As Cliente,
 InformacoesFinanceiras.value(
 '(/InformacoesFinanceiras/TotalOperacoes/text())[1]','nvarchar(20)')
  As TotalOperacoes,
 InformacoesFinanceiras.value(
 '(/InformacoesFinanceiras/SaldoAtual/text())[1]','nvarchar(128)')
  As SaldoAtual,
 InformacoesFinanceiras.value(
 '(/InformacoesFinanceiras/TipoCliente/text())[1]','nvarchar(128)')
  As TipoCliente
FROM
 #tblInformacoesFinanceiras

-- Exclui a tabela
DROP TABLE #tblInformacoesFinanceiras

Este artigo é a parte 1 de 2 da seguinte série:
  1. SQL Server 2005 New Features: Os métodos XML - Parte 1
  2. SQL Server 2005 New Features: Os métodos XML - Parte 2

Prático! Objetivo! Claro! Linguagem Simples e estruturada, Excelente didática! Material muito bem planejado e blilhantemente elaborado!!!