IBM Books

Extension XML Administration et programmation

Mise à jour de données dans une collection XML

L'Extension XML permet de mettre à jour des données non balisées stockées dans des tables de la collection XML. Par l'actualisation des valeurs contenues dans la table de la collection XML, vous mettez à jour le texte d'un élément XML ou la valeur d'un attribut XML. En outre, la mise à jour permet de supprimer une instance de donnée provenant d'un élément ou d'un attribut à occurrences multiples.

Dans le contexte SQL, la modification d'une valeur d'élément ou d'attribut et la suppression d'une instance d'élément ou d'attribut correspondent respectivement à une mise à jour et à une suppression. Dans le contexte XML, tant que le texte élémentaire ou la valeur d'attribut du noeud d'élément racine existe, le document XML est conservé et, par conséquent, il s'agit d'une mise à jour.

Exigences : Pour mettre à jour des données dans une collection XML, respectez les règles ci-après.

Mise à jour de valeurs d'éléments et d'attributs

Dans une collection XML, le texte élémentaire et la valeur d'attribut sont mappés vers les colonnes des tables de la base de données. Vous remplacez les données des colonnes par une mise à jour SQL classique, qu'il s'agisse de données existantes ou décomposées à partir de documents XML entrants.

Pour mettre à jour une valeur d'élément ou d'attribut, ajoutez une clause WHERE dans l'instruction SQL UPDATE qui contient la condition de jointure indiquée dans le fichier DAD.

Par exemple :

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

La valeur de l'élément <ShipMode> passe de AIR à BOAT dans la table SHIP_TAB dotée de la clé 68.

Suppression d'instances d'élément et d'attribut

Pour mettre à jour des documents XML composés par la suppression d'éléments ou d'attributs à occurrences multiples, supprimez la ligne qui contient la valeur de zone correspondant à la valeur d'élément ou d'attribut, à l'aide de la clause WHERE. Tant que vous ne supprimez pas la ligne qui contient les valeurs du noeud d'élément supérieur, la suppression de valeurs élémentaires est considérée comme une mise à jour du document XML.

Par exemple, dans l'instruction DELETE ci-après, vous supprimez l'élément <shipment> par l'indication d'une valeur unique prise par l'un de ses sous-éléments.

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

L'indication de la valeur DATE supprime la ligne qui correspond à cette valeur. Le document composé qui contenait initialement deux éléments <shipment> n'en contient qu'un désormais.


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