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

MS SQL 2005 में SQL XQuery का उपयोग करके एकाधिक नोड्स को कैसे संशोधित करें?

एक्सएमएल कॉलम को VARCHAR(MAX) पर डालने के लिए "सरल" दृष्टिकोण होगा और बस उस पर एक प्रतिस्थापन करें:

UPDATE
  YourTable
SET
  ParameterValue = CAST(REPLACE(CAST(ParameterValue AS VARCHAR(MAX)), '
                                Billy', 'Peter') AS XML)
WHERE
  ....

ऐसा लगता है कि आप एक अद्यतन विवरण में एकाधिक एक्सएमएल नोड मानों का अद्यतन नहीं कर सकते हैं, जैसा कि रिचर्ड सज़ाले बताते हैं यहां :

दुर्भाग्य से, ऐसा प्रतीत होता है कि कार्यान्वयन बहुत ही सीमित है क्योंकि यह एक ही अद्यतन में एक ही मान में मनमाने ढंग से कई संशोधन नहीं कर सकता है।

तो मुझे लगता है कि आपको या तो ऊपर वर्णित "गूंगा" VARCHAR (MAX) दृष्टिकोण का उपयोग करना होगा, या लूप में अपडेट करना होगा (जबकि आप अभी भी "बिली" के साथ एक नोड ढूंढते हैं, उस नोड को "पीटर" पढ़ने के लिए अद्यतन करें इसके बजाय )।

मार्क



  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 सर्वर में अद्यतन स्थिति में यादृच्छिक रिकॉर्ड के साथ अद्यतन तालिका?

  2. मेरे लेन-देन की अखंडता TransactionInDubtException अपवाद के साथ खो गई है

  3. SQL सर्वर के लिए I/O प्रदर्शन का विश्लेषण

  4. कर्सर का उपयोग किये बिना टीएसक्यूएल में टेबल वैरिएबल के माध्यम से लूप करने का कोई तरीका है?

  5. SQL सर्वर प्रबंधन स्टूडियो (SSMS) में टेम्प्लेट का उपयोग कैसे करें - SQL सर्वर / TSQL ट्यूटोरियल भाग 16