2013-02-22 60 views
0

我正在嘗試向SQL Server中的XML列中的節點添加屬性。嘗試使用XQuery修改SQL Server中的XML

UPDATE 
    TableName 
SET Metadata.modify(' 
    insert attribute MyAttribute{"01b9cd0b-bfed-436f-bc58-57d2fddd9211"} 
    into (Root/Collection/Item[@No="360"][1]) 
') 
WHERE 
    TableName.Id = 1 

我得到以下錯誤...

消息2226,級別16,狀態1,4號線的XQuery
[TableName.Metadata.modify()]:'的目標插入」必須是單個節點 ,發現‘元素(項目,XDT:無類型)*’

但我覺得我的選擇會返回一個單一的項目,考慮到[1]

回答

1

愚蠢的XQuery! (或者可能是我)。

你需要放置支架的[1]外:

into (Root/Collection/Item[@No="360"][1]) 

應該

into (Root/Collection/Item[@No="360"])[1]