XML DML (Data Modification Language)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

XML DML (Data Modification Language) ist eine Erweiterung der XQuery-Sprache. Gemäß der Definition durch W3C fehlt der XQuery-Sprache der DML-Anteil (Data Manipulation). XML DML wird in diesem Thema vorgestellt; diese Sprache stellt ebenso wie die XQuery-Sprache eine voll funktionsfähige Abfrage- und Datenbearbeitungssprache bereit, die mit dem xml-Datentyp verwendet werden kann.

XML DML fügt XQuery die folgenden Schlüsselwörter hinzu, für die zwischen Groß- und Kleinschreibung unterschieden wird:

  • insert

  • delete

  • replace value of

Wie unter XML-Datentyp und-Spalten (SQL Server) beschrieben, können Sie Variablen und Spalten des xml-Datentyps erstellen und diesen dann XML-Dokumente oder -Fragmente zuweisen. Gehen Sie folgendermaßen vor, um diese XML-Instanzen zu ändern oder zu aktualisieren:

  • Verwenden Sie die modify() xml Data Type-Methode des xml-Datentyps.

  • Geben Sie die entsprechenden XML DML-Anweisungen in der modify() -Methode an.

Beachten Sie, dass einige Attribute nicht eingefügt, gelöscht oder einer Wertänderung unterzogen werden können. Beispiel:

  • Für typisiertes oder nicht typisiertes xml lauten die Attribute xmlns, xmlns: und xml:base.

  • Nur für typisiertes xml lauten die Attribute xsi:nil und xsi:type.

Außerdem gelten die folgenden Einschränkungen:

  • Für typisiertes oder nicht typisiertes xml schlägt das Einfügen des Attributs xml:base fehl.

  • Für typisiertes xml schlägt das Löschen und Ändern des Attributs xsi:nil fehl. Für nicht typisiertes xml können Sie dieses Attribut löschen oder seinen Wert ändern.

  • Für typisiertes xml schlägt das Ändern des Werts des xs:type-Attributs fehl. Für nicht typisiertes xml können Sie diesen Attributwert ändern.

Wenn Sie eine typisierte XML-Instanz ändern, muss das endgültige Format eine gültige Instanz des betreffenden Typs sein. Anderenfalls wird ein Überprüfungsfehler zurückgegeben.

Weitere Informationen

insert (XML DML)
delete (XML DML)
replace value of (XML DML)
Vergleichen von typisiertem XML mit nicht typisiertem XML
Erstellen von Instanzen der XML-Daten
xml Data Type Methods (xml-Datentypmethoden)