चलो कहते हैं कि मैं अपने डेटाबेसविलय एक्सएमएल
<!-- XML 1 -->
<pairs>
<item key="a">xml 1 a value</item>
<item key="b">xml 1 b value</item>
<item key="c">xml 1 c value</item>
</pairs>
<!-- XML 2 -->
<pairs>
<item key="c">xml 2 c value</item>
<item key="d">xml 2 d value</item>
<item key="e">xml 1 e value</item>
</pairs>
इस डेटा XML
डेटाप्रकार का उपयोग कर दो अलग-अलग तालिकाओं में संग्रहीत किया जाता है में XML के बाद दो टुकड़े हैं, इसके साथ ही इस XML स्तंभ एक से लिंक है
[PairData] [xml](CONTENT [foo].[Pairs]) NULL
का स्वरूप का वर्णन मैं निम्नलिखित में इन दो एक्सएमएल संरचनाओं मर्ज करना चाहते हैं
<pairs>
<item key="a">xml 1 a value</item>
<item key="b">xml 1 b value</item>
<item key="c">xml 2 c value</item>
<item key="d">xml 2 d value</item>
<item key="e">xml 2 e value</item>
</pairs>
तो, एक्सएमएल के पहले टुकड़े से हम ले लिया है आइटम:
a, b
एक्सएमएल के दूसरे टुकड़े से हम ले लिया है आइटम:
c, d, e
सूचना है कि XML के दो टुकड़े
c
इस परिदृश्य में एक्सएमएल 2 से मूल्य मर्ज किए गए में इस्तेमाल किया जाना चाहिए: की एक प्रमुख के साथ एक आम आइटम एक्सएमएल (एक्सएमएल 1 से मूल्य को छोड़कर)। एक और मामला यह है कि एक्सएमएल 1 या 2 नल हो सकता है इसलिए मर्ज प्रक्रिया को इसे संभालना चाहिए और बस दूसरे को वापस करना चाहिए। या दोनों नल हो सकते हैं, इस मामले में न्यूल वापस आ गया है।
एक तरफ, हमारे वर्तमान कार्यान्वयन में हम डीबी से दोनों एक्सएमएल दस्तावेज़ लौट रहे हैं और कोड में विलय कर रहे हैं। हालांकि हम इस विलय को डीबी के भीतर करना पसंद करेंगे क्योंकि कई असंबंधित प्रक्रियाएं इस प्रो को कॉल कर रही हैं।
उत्तर डेटा संग्रहण पर निर्भर करता है। (उदाहरण के लिए आपका स्रोत एक टेबल, एक एक्सएमएल कॉलम या एक वर्ण स्ट्रिंग है)। यह अच्छा होगा अगर आप अधिक जानकारी प्रदान कर सकते हैं। –
टिप्पणी के लिए चीयर्स, प्रश्न अद्यतन। – MrEyes