我目前在SQL Server中使用Xquery從XML中提取一些信息。SQL Server 2008&XQUERY
我遇到了麻煩,因爲我必須將一些動態內容放在一個變量上,但它不起作用。
當我選擇這樣的:
P.value('ListOrderItem[1]/OrderItem[1]/Item[sql:variable("@I")]/Seller[1]','VARCHAR(64)')
P
是我的道路,它是很好的,因爲它是與其他項目的工作,但我必須做這個項目的環(在一個訂單,你可以有很多項目...),所以這就是爲什麼我想把@I
然後在這個變量上做一個循環。
PS:不要說在變量後加上[1]
,否則每次都會選擇第一項。
編輯:由「不工作」我的意思是,它給我只是第一個項目時,我把[1]
和錯誤信息,當我把「[sql:variable("@I")]
」,這是「值()」需要一個單(或空序列),發現類型的操作數「XDT:untypedAtomic類型*」
當然,我已經試過'[email protected]'
但它仍然無法正常工作..我的XML的
例子:
<ListOrderItem>
<OrderItem>
<Item>
...
</Item>
<Item>
...
</Item>
</OrderItem>
</ListOrderItem>
Final編輯:我終於修好了這個帖子的問題幫了我很多,然後抱歉發貼。
Getting multiple records from xml column with value() in SQL Server
感謝。括號
**我們展示**示例XML!並解釋你試圖從中獲取哪些部分...... –
你是什麼意思的「不工作」。錯誤消息或錯誤的數據或...? –
我猜測有一個關於「singleton」的錯誤。如果是這樣的話,你確實需要添加一個額外的'[1]'。將整個表達式嵌入括號中,並將'[1]'添加到結尾。 –