Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL 2005 पर XML पथ के लिए उपयोग करते समय एम्परसेंड (&) को कैसे सुरक्षित रखें?

ऐसी स्थितियां हैं जहां एक व्यक्ति अच्छी तरह से गठित एक्सएमएल नहीं चाहता है - एक मैं (और शायद मूल पोस्टर) का सामना करना पड़ा एक रिकर्सिव क्वेरी के माध्यम से 'बच्चे' आइटम की एक फ़ील्ड सूची वापस करने के लिए एक्सएमएल पथ तकनीक का उपयोग कर रहा था। इस तकनीक के बारे में अधिक जानकारी यहाँ है (विशेष रूप से 'द ब्लैकबॉक्स एक्सएमएल मेथड्स' सेक्शन में):Transact-SQL में पंक्ति मानों को जोड़ना

मेरी स्थिति के लिए, 'एच एंड ई' (एक विकृति विज्ञान का दाग) को 'अच्छी तरह से गठित एक्सएमएल' में बदलना एक वास्तविक निराशा थी। सौभाग्य से, मुझे एक समाधान मिल गया ... निम्नलिखित पृष्ठ ने मुझे इस मुद्दे को अपेक्षाकृत आसानी से हल करने में मदद की और मेरी पुनरावर्ती क्वेरी को फिर से आर्किटेक्ट किए बिना या प्रस्तुति स्तर पर अतिरिक्त पार्सिंग जोड़ने के लिए (इसके लिए और साथ ही अन्य/भविष्य की स्थितियों के लिए जहां मेरा बच्चा -पंक्तियों डेटा फ़ील्ड में आरक्षित XML वर्ण होते हैं):एक्सएमएल पथ के लिए विशेष वर्णों को संभालना

संपादित करें:संदर्भित ब्लॉग पोस्ट से नीचे कोड।

select
  stuff(
     (select ', <' + name + '>'
     from sys.databases
     where database_id > 4
     order by name
     for xml path(''), root('MyString'), type
     ).value('/MyString[1]','varchar(max)')
   , 1, 2, '') as namelist;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर 2008 में PIVOT / UNPIVOT

  2. SSRS में आंतरिक मापदंडों का उपयोग करने के नियम क्या हैं

  3. कोई संग्रहीत कार्यविधि पर पुनरावृति कैसे कर सकता है, किसी अन्य संग्रहीत कार्यविधि के भीतर से .... बिना कर्सर के?

  4. मैं SQL सर्वर तालिका में यादृच्छिक मान कैसे सम्मिलित कर सकता हूं?

  5. एकाधिक स्तंभ समुच्चय के साथ SQL सर्वर पिवट तालिका