IBM Books

Extension XML Administration et programmation


Mise à jour de données XML

L'Extension XML permet de mettre à jour tout un document XML en remplaçant les données de colonne XML, ou uniquement les valeurs des éléments ou des attributs précisés.

Tâche en cours :

  1. Assurez-vous que vous avez stocké le document XML dans une table XML et déterminez les données à extraire.
  2. Choisissez une méthode de mise à jour des données dans la table DB2 (fonctions de transtypage ou fonctions UDF).
  3. Indiquez une instruction SQL qui identifie la table et la colonne XML à mettre à jour.

Important : Lorsque vous mettez à jour une colonne activée pour XML, l'Extension XML actualise automatiquement les tables annexes en conséquence. Toutefois, n'effectuez aucune mise à jour directe dans ces tables sans mettre à jour le document XML d'origine dans la colonne XML pour éviter des incohérences dans les données.

Pour mettre à jour un document XML :

Utilisez l'une des méthodes suivantes :

Utilisation d'une fonction de transtypage par défaut
Pour chaque type UDT, il existe une fonction de transtypage par défaut permettant de transtyper le type de base SQL en type UDT. Vous pouvez mettre à jour le document XML à l'aide des fonctions de transtypage disponibles par l'Extension XML. Le Tableau 9, répertorie les fonctions de transtypage fournies. Il suppose que la colonne ORDER est associée à un type UDT différent fourni par l'Extension XML.

Exemple : Mettez à jour le type XMLVARCHAR à partir du type VARCHAR transtypé, en supposant que la variable hôte xml_buf est associée au type VARCHAR.

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

Utilisation d'une fonction UDF d'archivage
Pour chaque type UDT Extension XML, il existe une fonction UDF d'archivage qui permet d'importer des données dans DB2, à partir d'une ressource autre que son type de base. Une fonction UDF d'archivage permet de mettre à jour tout le document XML par son remplacement.

Exemple : L'exemple ci-après illustre la mise à jour d'un document XML avec la fonction XMLVarcharFromFile() :

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

Dans l'exemple précédent, l'objet XML est mis à jour du fichier c:\dxx\samples\cmd\getstart.xml vers la colonne ORDER de la table SALES_TAB.

Pour obtenir la liste des fonctions d'archivage fournies par l'Extension XML, reportez-vous au Tableau 10.

Pour mettre à jour certains éléments et attributs d'un document XML :

Précisez les modifications voulues à l'aide de la fonction UDF Update(), plutôt que de mettre à jour tout le document. Avec la fonction UDF, vous indiquez un chemin d'emplacement et la valeur de l'élément ou de l'attribut représenté par le chemin à remplacer. (Pour consulter la syntaxe du chemin d'emplacement, reportez-vous à la section Chemin d'emplacement .) Vous n'avez pas besoin d'éditer le document XML : l'Extension XML effectue les modifications à votre place.

Update(xmlobj, path, value)
 

Dans cet exemple :

xmlobj
Nom de la colonne XML pour laquelle la valeur de l'élément ou de l'attribut doit être mise à jour.

path
Chemin d'emplacement de l'élément ou de l'attribut à mettre à jour. Pour consulter la syntaxe du chemin d'emplacement, reportez-vous à la section Chemin d'emplacement .

value
Valeur à mettre à jour.

Exemple : L'instruction ci-après remplace la valeur de l'élément <Customer> par la chaîne de caractères IBM, avec la fonction UDF Update() :

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


[ Début de page | Page précédente | Page suivante | Table des matières | Index ]