Partager via


Langage de modification de données XML (XML DML)

S’applique à : SQL ServerAzure SQL Database Azure SQL Managed Instance

Le langage de modification de données XML (XML DML) est une extension du langage XQuery. Tel qu'il est défini par le consortium W3C, le langage XQuery ne possède pas la partie de manipulation des données (DML). Le langage de manipulation de données (DML, Data Manipulation Language) XML présenté dans cette rubrique, ainsi que le langage de requête Xml, fournissent un langage de modification de données et de requête pleinement fonctionnel que vous pouvez utiliser sur les données de type xml.

Le XML DML ajoute dans XQuery les mots clés respectant la casse suivants :

  • insert

  • delete

  • replace value of

Comme décrit dans Type et colonnes de données XML (SQL Server), vous pouvez créer des variables et des colonnes de type xml et leur attribuer des documents ou fragments XML. Pour modifier ou mettre à jour ces instances XML, procédez comme suit :

  • Utilisez la méthode modify() du type de données xml.

  • Spécifiez les instructions DML XML appropriées dans la méthode modify() .

Notez que certains attributs ne peuvent pas être insérés ou supprimés, et que leur valeur ne peut pas être modifiée. Par exemple :

  • Pour le xml typé et non typé, les attributs sont xmlns, xmlns:* et xml:base.

  • Pour le xml typé uniquement, les attributs sont xsi:nil et xsi:type.

Autres restrictions :

  • Pour le xml typé et non typé, l’insertion de l’attribut xml:base échoue.

  • Pour le xml typé, la suppression et la modification de l’attribut xsi:nil échouent. Pour le xml non typé, vous pouvez supprimer l’attribut ou modifier sa valeur.

  • Pour le xml typé, la modification de la valeur de l’attribut xs:type échoue. Pour le xml non typé, vous pouvez modifier la valeur de l’attribut.

Lorsque vous modifiez une instance XML typée, le format final doit être une instance valide de ce type. Dans le cas contraire, une erreur de validation est retournée.

Voir aussi

insert (XML DML)
delete (DML XML)
replace value of (XML DML)
Comparer du XML typé et du XML non typé
Créer des instances de données XML
Méthodes de type de données xml