2008-11-09 24 views
8

Tengo una tabla:XQUERY/Modificar para reemplazar una pieza de mi XML con un valor de campo varchar

MyTable 
    config as XML 
    title as varchar(255) 

En MyTable.config tengo XML en la siguiente estructura:

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

Necesito un script para inyectar el valor de MyTable.text en el atributo de texto del nodo componente en mi config XML.

sé que esto está mal, pero quiero hacer algo similar:

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

Respuesta

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

Gracias Jason, que funcionó. ;) – Jason

+0

Estoy seguro de que te alegra que haya alguien aquí que pueda ayudarte. ;-) +1 – Tomalak

+0

Estoy seguro de que si fue lunes, cuando se supone que las personas deberían estar trabajando, habría habido más personas para responder la pregunta. :) – Jason

Cuestiones relacionadas