2008-11-09 5 views
8

J'ai une table:En utilisant XQuery/Modifier pour remplacer un morceau de mon XML avec la valeur du champ varchar

MyTable 
    config as XML 
    title as varchar(255) 

Dans MyTable.config J'ai XML dans la structure suivante:

<configuration pagetitle="myConfig"> 
    <column> 
    <row> 
     <component id="1" type="MyPiece" title="My Title" text="junk" /> 
    </row> 
    </column> 
</configuration> 

J'ai besoin d'un script pour injecter la valeur de MyTable.text dans l'attribut de texte du nœud de composant dans mon XML de configuration.

Je sais que cela est faux, mais je veux faire quelque chose de similaire:

UPDATE MyTable SET config.configuration.column.row.component.title = title 

Répondre

13
UPDATE MyTable 
    SET Config.modify(' 
    replace value of (/configuration/column/row/component/@title)[1] 
    with sql:column("title") 
    ') 
+2

Merci Jason, qui a travaillé. ;) – Jason

+0

Je suis sûr que vous êtes heureux qu'il y avait quelqu'un ici qui pourrait vous aider. ;-) +1 – Tomalak

+0

Je suis sûr que si c'était lundi, quand les gens sont censés travailler, il y aurait eu plus de gens pour répondre à la question. :) – Jason

Questions connexes