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.

Se även

insert (XML DML)
ta bort (XML DML)
ersätta värdet av (XML DML)
Jämför typad XML med otypad XML
Skapa instanser av XML-data
xml-datatypsmetoder