में वैरिएबल मैं Xquery का उपयोग कर एक्सएमएल से विशेषता मान प्राप्त करना चाहता हूं।एसक्यूएल का उपयोग कर एक्सएमएल विशेषता से मूल्य कैसे प्राप्त करें: xquery
मेरी एक्सएमएल
<Answers>
<AnswerSet>
<Answer questionId="NodeID">155</Answer>
<Answer questionId="ParentNode" selectedValue="12">Product</Answer>
</AnswerSet>
</Answers>
नीचे मेरी क्वेरी है।
DECLARE @Field Varchar(100)
DECLARE @Attribute VARCHAR(100)
SET @Field='ParentNode'
SET @Attribute = 'selectedValue'
SELECT ISNULL(PropertyXML.value('(/Answers/AnswerSet/Answer[@questionId=sql:variable("@Field")])[1]','varchar(max)'),'') ,
IsNull (PropertyXML.value ('(/ उत्तर/AnswerSet/उत्तर [@ questionId = एसक्यूएल: चर ("@ फील्ड")]/एसक्यूएल: चर (@Attribute)) [1]', ' varchar (max) '),' ') नोड से कहां आईडी = 155
रेखा से नीचेएसक्यूएल के साथ ठीक काम कर रहा है: चर
ISNULL(PropertyXML.value('(/Answers/AnswerSet/Answer[@questionId=sql:variable("@Field")])[1]','varchar(max)'),'')
लेकिन मैं नीचे लाइन में त्रुटि हो रही है ..
ISNULL(PropertyXML.value('(/Answers/AnswerSet/Answer[@questionId=sql:variable("@Field")]/sql:variable(@Attribute))[1]','varchar(max)'),'')
मैं परिणामस्वरूप प्रदान की गई विशेषता (@Attribute) मान प्राप्त करना चाहता हूं।
एसक्यूएल सर्वर के किन संस्करणों की तरह कुछ का प्रयास करें? यदि आप .value का उपयोग कर रहे हैं, तो 2005+ –
हाँ 2005 और 2008 – Mohmedsadiq