मैं की जरूरत है एक SQL स्क्रिप्ट होगा कि पुल करने के लिए एक XML स्ट्रिंग से डीबी [varchar(max)], यह निरीक्षण किया, और यह अद्यतन करें यदि यह फिट बैठता है एक विशिष्ट स्थिति है.
कल्पना कीजिए कि मेरी xml में निम्न स्वरूप है:
<root>
<level1>
<level2>
<level3 />
<level3 />
</level2>
</level1>
<level1>
<level2>
<level3>
<level4>
<level5>
<level6 here="now is the time for XYZ">
<options>
<option this="that" />
<option me="you" />
</options>
</level6>
</level5>
</level4>
</level3>
</level2>
</level1>
<level1>
<level2>
<level3>
<level4>
<level5>
<level6 here="this one is not of interest">
<options>
<option this="that" />
<option me="you" />
</options>
</level6>
</level5>
</level4>
</level3>
</level2>
</level1>
<level1>
<level2>
<level3>
<level4>
<level5>
<level6 here="now is the time for ABC">
<options>
<option this="that" />
<option me="you" />
<option here="now" />
</options>
</level6>
</level5>
</level4>
</level3>
</level2>
</level1>
</root>
तो, क्या मैं क्या करना चाहते है अद्यतन करने के लिए सभी तत्वों जिसका नाम है "level6" और है, जो एक विशेषता बुलाया "यहाँ" जिसका मूल्य शुरू होता है के साथ "अब समय आ गया है". तो, होना चाहिए कि मैच सिर्फ दो तत्वों से ऊपर.
लेकिन, नहीं है कि केवल एक ही चयन के मापदंड. के विकल्पों की सूची में शामिल नहीं करना चाहिए <option here="now" />
. तो, कि हमें छोड़ देना चाहिए सिर्फ एक तत्व को अद्यतन करने के लिए.
<level6 here="now is the time for XYZ">
<options>
<option this="that" />
<option me="you" />
</options>
</level6>
उस तत्व के लिए, मैं तो जोड़ने के लिए चाहते हैं लापता <option here="now" />
, इतना है कि हो जाता है:
<level6 here="now is the time for XYZ">
<options>
<option this="that" />
<option me="you" />
<option here="now" />
</options>
</level6>
तो, अंत परिणाम होना चाहिए:
<root>
<level1>
<level2>
<level3 />
<level3 />
</level2>
</level1>
<level1>
<level2>
<level3>
<level4>
<level5>
<level6 here="now is the time for XYZ">
<options>
<option this="that" />
<option me="you" />
<option here="now" /> // <- this one new
</options>
</level6>
</level5>
</level4>
</level3>
</level2>
</level1>
<level1>
<level2>
<level3>
<level4>
<level5>
<level6 here="this one is not of interest">
<options>
<option this="that" />
<option me="you" />
</options>
</level6>
</level5>
</level4>
</level3>
</level2>
</level1>
<level1>
<level2>
<level3>
<level4>
<level5>
<level6 here="now is the time for ABC">
<options>
<option this="that" />
<option me="you" />
<option here="now" />
</options>
</level6>
</level5>
</level4>
</level3>
</level2>
</level1>
</root>
लगता है कि मैं डेटा पढ़ सकते हैं बाहर की डीबी में एक स्ट्रिंग, और मुझे पता है कि कैसे DB अद्यतन करने के लिए, तो यह वास्तव में हेरफेर करने के लिए कैसे xml स्ट्रिंग SQL (एसक्यूएल सर्वर).