2012-10-07 66 views
0

重構後,我發現它需要更改現有數據的命名空間。每個DB行包含有像數據列:更新xml列的命名空間

<Bla xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.contoso.com/ooo/entities/v1"> 
    <Titles> 
     <smth sourceId="19" targetId="2"> 
     <smth2>New</smth2> 
     </smth> 
    </Titles> 
</Bla> 

如何更新值xmlns="http://schemas.contoso.com/ooo/entities/v1"xmlns="http://schemas.contoso.com/ooo/common/v1"

實際的例外是InvalidOperationException(不是預期的命名空間)。 m.b有可能改變數據讀取器的反序列化,但是...

回答

0
update MyTable 
set MyColumn = 
Convert(xml, 
    REPLACE(
     Convert(nvarchar(max), MyColumn), 
     'http://schemas.contoso.com/ooo/entities/v1', 
     'http://schemas.contoso.com/ooo/common/v1') 
    )