आप इस तरह कुछ उपयोग कर सकते हैं - बस परिवर्तनीय भाग का उपयोग दिखा रहा है। एक ही बात आप आप इस
<Root>
<Elem1/>
<Parent1/>
<Separator/>
<Child1/>
</Root>
तरह पदानुक्रम है
क्वेरी मान लिया जाये कि संशोधित कॉल
के हिस्से के रूप कर सकते हैं: -
DECLARE @Root VARCHAR(50)
DECLARE @Entity VARCHAR(50)
DECLARE @ParentNode VARCHAR(50)
DECLARE @Separator VARCHAR(50)
DECLARE @ChildNode VARCHAR(50)
SET @Root = 'Root'
SET @Entity = 'Elem1'
SET @ParentNode = 'Parent1'
SET @Separator = 'separator'
SET @ChildNode = 'Child1'
select Parent.P.value('.', 'varchar(max)') as MyValue,
T.uniqueId, T.XMLCol
from [XMLTable] as T
cross apply XMLTable.XMLCol.nodes('(/*[local-name()=sql:variable("@Root")]/*[local-name(.)=sql:variable("@Entity")]/*[local-name(.)=sql:variable("@ParentNode")]/*[local-name(.)=sql:variable("@Separator")]/*[local-name(.)=sql:variable("@ChildNode")])[1]') as Parent(P)
स्रोत
2011-08-15 09:47:44
प्रयास करें कि !! यह काम करता हैं!! [एक्सएमएल-डीएमएल के माध्यम से गतिशील एक्सएमएल नोड्स को संशोधित करना?] (Http://social.msdn.microsoft.com/Forums/en-US/sqlxml/thread/f7f211ee-df56-47a1-8365-4afa989416ff/) –