- query() – Extrae fragmentos de XML desde un tipo de dato XML.
- value() – Extrae un valor concreto de un documento XML.
- exist() – Busca un nodo. Si aparece devuelve 1, y 0 en caso contrario.
- modify() – Actualiza datos XML en un tipo de dato XML.
- 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')
--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!.
QUE CLASE DE IDIOTA PUEDE DAR ESTE EJEMPLO SIN ESPECIFICAR LA ESTRUCTURA DE SU BASE DE DATOS
ResponderEliminarMaleducado y desagradecido. Lo tienes todo, amigo.
Eliminarsi lo tienes todo -_-' que mal pienso que el idiota es otro... buen post a mi me ayudo bastante
Eliminarque osea q tu quieres que te hagan todo ??? piensa un poquito , al parecer el idiota ers tuuuuu Christian Garcia Reyes, IGNORANTE. Marilu
EliminarPara 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...
ResponderEliminarGracias 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!.
ResponderEliminaryo 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