3
我在sql server 2008R2中有一個名爲DateRule的表,我試圖更新一個XML列值,但它不像預期的那樣工作。在SQL Server 2008 R2中更新表的XML列
- DateRuleId:40
- 說明:經過2個月的時間始於足下
DateRuleXml:
<Daterule> <Type>Timespan</Type> <months>2</months> <days>0</days> <hours>0</hours> <minutes>0</minutes> <seconds>0</seconds> <After>1</After> <Reference>1</Reference> </Daterule>
我試圖運行的查詢是:
update centralq3.wf.DateRule
set DateRuleXml.modify('replace value of (/Daterule/@Reference)[1] with "6"')
where DateRuleId = 40
And:
update centralq3.wf.DateRule
set DateRuleXml.modify('replace value of (//@Reference)[1] with "6"')
where DateRuleId = 40
他們都成功並說(1行受影響),但引用的值沒有改變。我做錯了什麼?我知道有很多關於這個問題,但沒有幫助我..
編輯! 答:
UPDATE centralq3.wf.DateRule
SET DateRuleXml.modify('replace value of (/Daterule/Reference[1]/text())[1] with "6"')
WHERE DateRuleId = 40
試試這個:'設置DateRuleXml.modify('取代的價值(/Daterule/@Reference)[.=1][1]與「6」')'單獨 – 2014-10-20 11:44:54
成功,告訴我,1行受到影響,但沒有任何變化 – Ciprian 2014-10-20 11:49:54
工作!非常感謝你! – Ciprian 2014-10-20 11:55:42