Tablas con campo XML ejemplo

Campos XML en Tablas

Los tipos de campo XML permiten guardar información estructurada que dependa del mismo registro. El uso de los tipos de datos XML es muy efectivo para elementos dependientes que no tengan muchos datos.

Ejemplo: Asegurado y los Dependientes

En este ejemplo el tipo de campo XML almacenará los datos de los dependientes de un asegurado.

La tabla Asegurados tiene un campo Dependientes de tipo XML llamado AseguradosDependientes. Para insertar de manera manual los registros se recomienda un editor de archivos XML.

Create table Asegurados
(
AseguradosCodigo nchar(6),
AseguradosNombreCompleto nvarchar(200),
AseguradosDependientes XML,
AseguradosFechaNacimiento Date,
constraint AseguradosCodigoPK Primary key (AseguradosCodigo)
)
go
— Insertar datos
insert into Asegurados
(AseguradosCodigo, AseguradosNombreCompleto,
AseguradosDependientes, AseguradosFechaNacimiento) 
values
(‘852369′,’PEDRO CASTRO NIEVES’,'<Dependientes>
<Dependiente>
<Codigo>7852</Codigo>
<Nombre>Vilma</Nombre>
<Paterno>Pereda</Paterno>
<Materno>Plasencia</Materno>
<Parentesco>Esposa</Parentesco>
</Dependiente>
<Dependiente>
<Codigo>9615</Codigo>
<Nombre>Jose</Nombre>
<Paterno>Casto</Paterno>
<Materno>Pereda</Materno>
<Parentesco>Hijo</Parentesco>
</Dependiente>
<Dependiente>
<Codigo>3578</Codigo>
<Nombre>Paola</Nombre>
<Paterno>Casto</Paterno>
<Materno>Pereda</Materno>
<Parentesco>Hija</Parentesco>
</Dependiente>
</Dependientes>’,’15/09/1990′),
(‘259716′,’CARMEN ZEGARRA LOPEZ’,'<Dependientes>
<Dependiente>
<Codigo>7821</Codigo>
<Nombre>Carlos</Nombre>
<Paterno>Mendoza</Paterno>
<Materno>Segura</Materno>
<Parentesco>Esposo</Parentesco>
</Dependiente>
<Dependiente>
<Codigo>2589</Codigo>
<Nombre>Manuelita</Nombre>
<Paterno>Mendoza</Paterno>
<Materno>Zegarra</Materno>
<Parentesco>Hija</Parentesco>
</Dependiente>
</Dependientes>’,’04/04/1994′),
(‘975281′,’ANTONIO MENDEZ VILLA’,'<Dependientes>
<Dependiente>
<Codigo>8855</Codigo>
<Nombre>Carlos</Nombre>
<Paterno>Mendez</Paterno>
<Materno>Polo</Materno>
<Parentesco>Papá</Parentesco>
</Dependiente>
</Dependientes>’,’06/06/1966′)
go

Al listar los registros de la tabla se muestra el campo XML con las etiquetas escritas.
select * from Asegurados
go

Al pulsar clic en el campo XMl se muestra el detalle.

Listados con campos XML, existen dos formas.

select * from Asegurados for xml Auto
go

Al pulsar clic en el XML que aparece se muestra lo siguiente:

Otra forma de listar los registros en el filas, incluyendo la palabra Raw.

select * from Asegurados for xml Raw
go