Manuali IBM

XML Extender - Gestione e programmazione


Aggiornamento dei dati XML

Con XML Extender, è possibile aggiornare l'intero documento XML sostituendo i dati di colonna XML oppure è possibile aggiornare i valori degli elementi o attributi specificati.

Panoramica delle attività:

  1. Accertarsi di aver memorizzato il documento XML in una tabella XML e stabilire quali dati richiamare.
  2. Scegliere un metodo per l'aggiornamento dei dati nella tabella DB2 (funzioni cast o UDF).
  3. Specificare un'interrogazione SQL che specifica la tabella e la colonna XML da aggiornare.

Importante: quando si aggiorna una colonna abilitata per XML, XML Extender automaticamente aggiorna le tabelle laterali in base alle modifiche apportate. Tuttavia, non aggiornare queste tabelle senza aggiornare il documento XML originale che è stato memorizzato nella colonna XML modificando l'elemento XML o il valore attributo corrispondente. I seguenti aggiornamenti possono causare problemi di incongruenza dati.

Per aggiornare un documento XML:

Utilizzare uno dei seguenti metodi:

Utilizzare una funzione cast predefinita
Per ciascun UDT (user-defined type), esiste una funzione cast predefinita per eseguire il tipo di base nell'UDT. E' possibile utilizzare le funzioni cast fornite da XML Extender per aggiornare il documento XML. La Tabella 9 illustra le funzioni cast predefinite e specifica la colonna ORDER con un UDT differente, fornito da XML Extender.

Esempio: Aggiorna il tipo XMLVARCHAR, dal tipo VARCHAR cast presumendo che xml_buf sia una variabile host definita come tipo VARCHAR.

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

Utilizzo di una UDF di memorizzazione
Per ciascun UDT di XML Extender, esiste un'UDF di memorizzazione per eseguire l'importazione di dati in DB2 da una risorsa diversa dal relativo tipo di base. E' possibile utilizzare un'UDF di memorizzazione per aggiornare l'intero documento XML mediante la relativa sostituzione.

Esempio: il seguente esempio esegue l'aggiornamento di un documento XML utilizzando la funzione XMLVarcharFromFile():

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

L'esempio precedente aggiorna l'oggetto XML dal file c:\dxx\samples\cmd\getstart.xml nella colonna ORDER nella tabella SALES_TAB.

Consultare Tabella 10 per un elenco delle funzioni di memorizzazione fornite da XML Extender.

Per aggiornare elementi e attributi specifici di un documento XML:

Utilizzare la UDF Update() per specificare ciascuna modifica, anziché aggiornare l'intero documento. Se si utilizza la UDF, specificare un percorso di ubicazione e il valore dell'elemento o dell'attributo rappresentato dal percorso di ubicazione da sostituire. Per informazioni sulla sintassi del percorso di ubicazione, consultare la sezione Percorso di ubicazione. Non è necessario modificare il documento XML: XML Extender effettua automaticamente le modifiche.

Update(xmlobj, path, value)
 

In questo esempio:

xmlobj
Il nome della colonna XML per la quale aggiornare il valore dell'elemento o attributo.

percorso
Il percorso di ubicazione dell'elemento o dell'attributo di cui eseguire l'aggiornamento. Per informazioni sulla sintassi del percorso di ubicazione, consultare la sezione Percorso di ubicazione.

valore
E' il valore che deve essere aggiornato.

Esempio: la seguente istruzione aggiorna il valore dell'elemento <Customer> nella stringa dei caratteri IBM, utilizzando la UDF Update():

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


[ Inizio pagina | Pagina precedente | Pagina successiva | Indice | Indice analitico ]