Freigeben über


XML DML (Data Modification Language)

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 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 xsi:nil-Attributs 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.