我傳遞以下XML到SQL Server存儲過程:選擇在存儲過程中多個XML元素
<root>
<id>6063</id>
<id>6064</id>
</root>
在我的存儲過程,我有以下的代碼來選擇ID:
SELECT t.n.value('id[1]', 'int')
FROM @xml.nodes('/root') as t(n)
現在這個工作,但它顯然只選擇第一個ID並停止。我不太清楚如何製作這個「循環」,並選擇xml文件中的所有ID。
任何幫助非常感謝。
下面是引用完整的存儲過程:
BEGIN
DECLARE @xml xml = '<root>
<id>6063</id>
<id>6064</id>
</root>'
SELECT t.n.value('id[1]', 'int') as id
FROM @xml.nodes('/root') as t(n)
END
它看起來對我來說沒問題。根據** [這](http://stackoverflow.com/questions/5758091/how-to-loop-and-parse-xml-parameter-in-sql-server-stored-procedure)** SO文章,它應該像寫作一樣工作。也許你需要做一個** t.n.value('id [1]','int')作爲'ID'**以及? – kgdesouz
好吧我已經嘗試添加「作爲身份證」,但沒有幫助。我將把sp複製到問題中。 – Jamesla
任何人都可以請告訴爲什麼上面的代碼不選擇所有ID? – Hitsa00