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: O tipo de dados XML -->
 
Avaliação: Não avaliado | Publicado em: 23/04/2007
SQL Server 2005 New Features: O tipo de dados XML


No script abaixo, é criada uma tabela com uma coluna XML. É possível inserir registros através do preenchimento direto, de uma variável, de uma cláusula FOR XML ou de uma instrução OPENROWSET com o XML Bulk Load. Algumas dessas também aparecem no script.

CREATE TABLE tblComplemento (
    IdCliente INT,
    Dados XML)
GO

INSERT INTO tblComplemento (IdCliente, Dados)
VALUES (1, '<qtdfilhos>1</qtdfilhos>')
GO

DECLARE @Dados XML
SET @Dados = '<qtdfilhos>3</qtdfilhos>'
INSERT INTO tblComplemento (IdCliente, Dados)
VALUES (2, @Dados)
GO

DECLARE @Dados VARCHAR(100)
SET @Dados = '<qtdfilhos>2</qtdfilhos>'
INSERT INTO tblComplemento (IdCliente, Dados)
VALUES (3, @Dados)

SELECT
    IdCliente, Dados
FROM
    tblComplemento

É possível ainda especificar valores Default e Check Constraints para colunas XML utilizadas em tabelas. No caso das Check Constraints é preciso utilizar uma Function para fazer isso já que ela por si só não dá suporte a XQuery.

CREATE TABLE DadosXML (
    DadosXML XML NOT NULL
    DEFAULT '<teste/>')

INSERT INTO DadosXML VALUES (DEFAULT)
INSERT INTO DadosXML VALUES ('<root>valor</root>')

SELECT DadosXML FROM DadosXML

No exemplo acima, caso uma valor não seja especificado para a coluna “DadosXML”, automaticamente será preenchido um fragmento XML com o elemento vazio “teste”. Observe que esse é apenas um valor padrão. Não significa dizer que todos os registros devem ter o elemento “teste”.