XML Extender Verwaltung und Programmierung

XML-Daten aktualisieren

Mit dem XML Extender können Sie das gesamte XML-Dokument aktualisieren, indem Sie die XML-Spaltendaten ersetzen, oder Sie können die Werte der angegebenen Elemente oder Attribute aktualisieren.

Task-Übersicht:

  1. Stellen Sie sicher, daß Sie das XML-Dokument in einer XML-Tabelle gespeichert haben, und stellen Sie fest, welche Daten abgerufen werden sollen.
  2. Wählen Sie eine Methode zum Aktualisieren der Daten aus der DB2-Tabelle aus (Umsetzungsfunktionen oder UDFs).
  3. Geben Sie eine SQL-Abfrage an, die die zu aktualisierende XML-Tabelle und -Spalte angibt.

Wichtig: Beim Aktualisieren einer Spalte, die für XML aktiviert ist, aktualisiert der XML Extender automatisch die Seitentabellen, um diese Änderungen nachzuvollziehen. Aktualisieren Sie diese Tabellen nicht direkt, ohne das in der XML-Spalte gespeicherte Original-XML-Dokument durch Ändern des entsprechenden XML-Elements oder -Attributwerts zu aktualisieren. Solche Aktualisierungen können zu Problemen mit der Konsistenz der Daten führen.

So aktualisieren Sie ein XML-Dokument:

Verwenden Sie eine der folgenden Methoden:

Standardumsetzungsfunktion verwenden
Für jeden benutzerdefinierten Typ (UDT) gibt es eine Standardumsetzungsfunktion zur Umsetzung des SQL-Basistyps in den UDT. Sie können die vom XML Extender bereitgestellten Umsetzungsfunktionen zum Aktualisieren des XML-Dokuments verwenden. Tabelle 9 zeigt die bereitgestellten Umsetzungsfunktionen; es wird davon ausgegangen, daß die Spalte ORDER mit einer anderen vom XML Extender bereitgestellten Funktion erstellt wurde.

Beispiel: Aktualisiert den Typ XMLVARCHAR aus dem umgesetzten Typ VARCHAR; dabei wird davon ausgegangen, daß xml_buf eine als Typ VARCHAR definierte Host-Variable ist.

UPDATE sales_tab VALUES('123456', 'Sriram Srinivasan', 
  db2xml.XMLVarchar(:xml_buff))

Speicher-UDF verwenden
Für jeden XML Extender-UDT gibt es eine Speicher-UDF zum Importieren von Daten in DB2 aus einer anderen Ressource als ihrem Basistyp. Sie können mit einer Speicher-UDF das gesamte XML-Dokument aktualisieren, indem Sie es ersetzen.

Beispiel: Mit dem folgenden Beispiel wird ein XML-Dokument über die Funktion XMLVarcharFromFile() aktualisiert:

UPDATE sales_tab
       set order = XMLVarcharFromFile('c:\dxx\samples\cmd\getstart.xml')
     WHERE sales_person = 'Sriram Srinivasan'

In diesem Beispiel wird das XML-Objekt aus der Datei c:\dxx\samples\cmd\getstart.xml in die Spalte ORDER in der Tabelle SALES_TAB aktualisiert.

Im Abschnitt Tabelle 10 finden Sie eine Liste der vom XML Extender bereitgestellten Speicherfunktionen.

So aktualisieren Sie spezifische Elemente und Attribute eines XML-Dokuments:

Verwenden Sie die UDF Update() zum Angeben spezifischer Änderungen, statt das gesamte Dokument zu aktualisieren. Mit der UDF geben Sie einen Standortpfad und den Wert des Elements oder Attributs an, für das der zu ersetzende Standortpfad steht. (Die Syntax für den Standortpfad ist im Abschnitt Standortpfad beschrieben.) Sie brauchen das XML-Dokument nicht zu editieren: Der XML Extender nimmt die Änderungen für Sie vor.

Update(xmlobj, pfad, wert)
 

In diesem Beispiel:

xmlobj
Der Name der XML-Spalte, für die der Wert des Elements bzw. des Attributs aktualisiert werden soll.

pfad
Der Standortpfad des zu aktualisierenden Elements bzw. Attributs. Die Syntax für den Standortpfad ist im Abschnitt Standortpfad beschrieben.

wert
Der zu aktualisierende Wert.

Beispiel: Mit der folgenden Anweisung wird der Wert des Elements <Customer> mit der UDF Update() auf die Zeichenfolge IBM aktualisiert:

UPDATE sales_tab
       set order = Update(order, '/Order/Customer/Name', 'IBM')
     WHERE sales_person = 'Sriram Srinivasan'


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