Lenguaje de manipulación de datos XML (XML DML)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

El Lenguaje de manipulación de datos XML (XML DML) es una extensión del lenguaje XQuery. Según W3C, el lenguaje XQuery carece de la parte de manipulación de datos (DML). El lenguaje XML DML que se presenta en este tema, así como el lenguaje XQuery, proporciona un lenguaje de consultas y modificación de datos completamente funcional que se puede usar con el tipo de datos xml.

XML DML agrega a XQuery las siguientes palabras clave, donde se distingue entre mayúsculas y minúsculas:

  • insert

  • delete

  • replace value of

Tal como se describe en Tipo de datos XML y columnas (SQL Server), se pueden crear variables y columnas de tipo xml y asignarles documentos o fragmentos XML. Para modificar o actualizar estas instancias XML, realice el siguiente procedimiento:

Tenga en cuenta que no se pueden insertar ni eliminar algunos atributos, y a veces tampoco es posible modificar sus valores. Por ejemplo:

  • En xml con o sin tipo, los atributos son xmlns, xmlns:* y xml:base.

  • En xml solo con tipo, los atributos son xsi:nil y xsi:type.

Entre otras restricciones se pueden citar las siguientes:

  • En xml con o sin tipo, se producirá un error al insertar el atributo xml:base.

  • En xml con tipo, se producirá un error al eliminar y modificar el atributo xsi:nil. En xml sin tipo, se puede eliminar el atributo o modificar su valor.

  • En xml con tipo, se producirá un error si se modifica el valor del atributo xs:type. En xml sin tipo, se puede modificar el valor del atributo.

Cuando se modifica una instancia XML con tipo, el formato final debe ser una instancia válida de ese tipo. En caso contrario, se devuelve un error de validación.

Consulte también

insert (XML DML)
delete (XML DML)
replace value of (XML DML)
Comparar XML con tipo y XML sin tipo
Crear instancias de datos XML
Métodos del tipo de datos xml