XML-datamodifieringsspråk (XML DML)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

XML Data Modification Language (XML DML) är en utvidgning av XQuery-språket. Som definierat av W3C saknar XQuery-språket delen Data Manipulation (DML). XML DML som introduceras i detta ämne, liksom XQuery-språket, tillhandahåller ett fullt fungerande fråge- och datamodifieringsspråk som du kan använda mot xml-datatypen .

XML DML lägger till följande kasuskänsliga nyckelord till XQuery:

  • infoga

  • delete

  • Ersätt värdet av

Som beskrivs i XML Data Type and Columns (SQL Server) kan du skapa variabler och kolumner av xml-typen och tilldela XML-dokument eller fragment till dem. För att modifiera eller uppdatera dessa XML-instanser, gör följande:

Observera att vissa attribut inte kan infogas, raderas eller få sitt värde ändrat. Till exempel:

  • För typad eller otypad xml är attributen xmlns, xmlns:* och xml:base.

  • Endast för typad xml är attributen xsi:nil och xsi:type.

Andra begränsningar inkluderar följande:

  • För typad eller otypad xml kommer insättning av attributet xml:base att misslyckas.

  • För typad xml kommer att ta bort och ändra xsi:nil-attributet att misslyckas. För oskriven xml kan du ta bort attributet eller ändra dess värde.

  • För typad xml kommer en ändring av värdet på attributet xs:type att misslyckas. För otypad xml kan du ändra attributvärdet.

När du modifierar en typad XML-instans måste det slutgiltiga formatet vara en giltig instans av den typen. Annars returneras ett valideringsfel.