Manejo de XML en SQL

El tipo de dato XML fue introducido en SQL Server 2005 y expandido con mejoras en SQL Server 2008. Hay 5 métodos de tipo de dato XML disponibles en SQL Server 2008:
  1. query() – Extrae fragmentos de XML desde un tipo de dato XML.
  2. value() – Extrae un valor concreto de un documento XML.
  3. exist() – Busca un nodo. Si aparece devuelve 1, y 0 en caso contrario.
  4. modify() – Actualiza datos XML en un tipo de dato XML.
  5. node() – Divide datos XML en múltiples filas
Todos estos métodos requieren una expresión XPath como parámetro XQuery. Veamos algunos ejemplos:

--Devuelve framento XML con nombre de la ciudad del 3er.actor de la 1ªpelicula de Acción de nuestra tabla Videoclub
SELECT PeliculaDetalle.query('/Peliculas/Peli[1]/Actor[3]/Ciudad')
FROM Videoclub WHERE genero='Accion'

--Devuelve el string con la ciudad del ejemplo anterior
SELECT PeliculaDetalle.value('/Peliculas/Peli[1]/Actor[3]/Ciudad', 'nvarchar(100)')
FROM Videoclub WHERE genero='Accion'

--Chequea existencia de la película con ID=35´entre todas las de acción
SELECT PeliculaDetalle.exist('/Peliculas/Peli[@ID=35]')


FROM Videoclub WHERE genero='Accion'

--Actualiza la edad del 3er. actor de la 1ª película de Acción
UPDATE VideoClub
SET PeliculaDetalle.modify('replace value of  (/Peliculas/Peli[1]/Actor[3]/Edad)[1] with 40')
FROM Videoclub WHERE genero='Accion'

¿A qué esperas para cacharrear con estos métodos en tus XML?. Espero le saques provecho, y como siempre, se aceptan ideas y comentarios sobre vuestras experiencias. ¡Nos vemos!.

7 comentarios :

  1. QUE CLASE DE IDIOTA PUEDE DAR ESTE EJEMPLO SIN ESPECIFICAR LA ESTRUCTURA DE SU BASE DE DATOS

    ResponderEliminar
    Respuestas
    1. Maleducado y desagradecido. Lo tienes todo, amigo.

      Eliminar
    2. si lo tienes todo -_-' que mal pienso que el idiota es otro... buen post a mi me ayudo bastante

      Eliminar
    3. que osea q tu quieres que te hagan todo ??? piensa un poquito , al parecer el idiota ers tuuuuu Christian Garcia Reyes, IGNORANTE. Marilu

      Eliminar
  2. Para presentar estos métodos no se necesita el diseño de ninguna BD. Este post era para gente inteligente que sabe usar conocimiento y trabajarlo.Si solo buscas ejemplos resueltos para tu comodidad...te equivocaste de profesión. Un saludo. Ah,insultar describe como es una persona.Pobre...

    ResponderEliminar
  3. Gracias ivancette81...Menos mal que hay gente que sí trabaja y estudia duro por esta linda profesión, y no quiere que le den todo "listo" sin hacer nada. ¡Así les irá a algunos!.

    ResponderEliminar
  4. yo coincido con José Antonio Gaitán Rivas... Me ayudo bastante ya que estoy iniciando en esto del XML en SQL.. si pues que pena Christian Garcia Reyes lo que has escrito dice mucho de ti y dice lo peor de ti.

    ResponderEliminar

Buscar en el Blog: