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

एसक्यूएल संग्रहित प्रक्रिया और एक्सएमएल पैरामीटर का उपयोग कर एकाधिक पंक्तियां डालें?

आप नोड्स फ़ंक्शन का उपयोग करके XML को श्रेड कर सकते हैं:

CREATE PROC ShredXML (@x xml)
AS BEGIN
    INSERT INTO TBL_TARGET (Name, Color)
    SELECT 
        x.y.value( 'Name[1]', 'VARCHAR(20)' ) AS Name,
        x.y.value( 'Color[1]', 'VARCHAR(20)' ) AS Color
    FROM @x.nodes('cars/car') x(y)
END


exec ShredXML @x = N'<cars><car><Name>BMW</Name><Color>Red</Color></car><car><Name>Audi</Name><Color>Green</Color></car></cars>'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कुल कार्य के बिना TSQL धुरी

  2. दिनांक-आदेशित सूची से पिछले गैर-शून्य मान ढूँढना

  3. डेटाबेस में आईडी फ़ील्ड के लिए INT बनाम विशिष्ट-पहचानकर्ता

  4. SQL सर्वर ट्रिगर:समझ और विकल्प

  5. पंक्ति, पृष्ठ और टेबल लॉक क्या हैं? और कब उनका अधिग्रहण किया जाता है?