XML Extender Verwaltung und Programmierung

XML-Daten in einer XML-Objektgruppe aktualisieren

Der XML Extender ermöglicht das Aktualisieren nicht markierter Daten, die in XML-Objektgruppentabellen gespeichert sind. Durch das Aktualisieren von Tabellenwerten in XML-Objektgruppen aktualisieren Sie den Text eines XML-Elements oder den Wert eines XML-Attributs. Darüber hinaus kann bei mehrfachem Vorkommen der Elemente oder Attribute durch ein Aktualisieren ein Exemplar der Daten gelöscht werden.

Aus der Sicht von SQL ist das Ändern des Werts von Elementen oder Attributen ein Aktualisierungsvorgang; das Löschen eines Exemplars eines Elements oder Attributs ist dagegen ein Löschvorgang. Von XML aus betrachtet, ist das XML-Dokument weiterhin vorhanden, so lange der Elementtext bzw. der Attributwert existiert; somit handelt es sich aus dieser Sicht um ein Aktualisieren.

Voraussetzungen: Beachten Sie beim Aktualisieren von Daten in einer XML-Objektgruppe die folgenden Regeln.

Elemente und Attributknoten aktualisieren

In einer XML-Objektgruppe sind alle Elementtexte und Attributwerte Spalten in Datenbanktabellen zugeordnet. Unabhängig davon, ob die Spaltendaten bereits vorher vorhanden sind oder aus ankommenden XML-Dokumenten zerlegt werden, ersetzen Sie die Daten über die übliche SQL-Aktualisierungstechnik.

Zum Aktualisieren eines Elements oder Attributwerts geben Sie eine WHERE-Klausel in der SQL-Anweisung UPDATE an, die die in der DAD-Datei angegebene Verknüpfungsbedingung enthält.

Beispiel:

UPDATE SHIP_TAB 
    set MODE = 'BOAT'
  WHERE MODE='AIR' AND PART_KEY in
    (SELECT PART_KEY from PART_TAB WHERE ORDER_KEY=68)

Der Elementwert für <ShipMode> wird in der Tabelle SHIP_TAB von AIR in BOAT aktualisiert; der Schlüssel ist 68.

Exemplare von Elementen und Attributen löschen

Zum Aktualisieren zusammengesetzter XML-Dokumente durch Eliminieren mehrfach auftretender Elemente oder Attribute löschen Sie mit Hilfe der WHERE-Klausel eine Zeile mit dem Feldwert, der dem Element oder Attributwert entspricht. So lange Sie nicht die Zeile löschen, die die Werte für den Anfangs-element_node enthält, wird das Löschen von Werten als eine Aktualisierung des XML-Dokuments betrachtet.

In der folgenden DELETE-Anweisung löschen Sie beispielsweise ein Element <shipment> durch Angabe eines eindeutigen Werts eines seiner Unterelemente.

DELETE from SHIP_TAB 
   WHERE DATE='1999-04-12'

Mit der Angabe eines DATE-Werts wird die Zeile, die diesem Wert entspricht, gelöscht. Das zusammengesetzte Dokument enthielt ursprünglich zwei Elemente <shipment>; jetzt enthält es nur noch ein solches Element.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]