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

एसक्यूएल सर्वर 2005 में टेबल में एक्सएमएल डेटा कैसे डालें?

ऊपर के रूप में एक्सएमएल नमूना मानते हुए:

<Record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Emp>
        <ID>3</ID>
        <EmpName>Dibyendu</EmpName>
        <Sal>3500</Sal>
    </Emp>
</Record>

निम्न तालिका मानते हुए:

CREATE TABLE Employee
(
    [ID] [int] NOT NULL,  
    [EmpName] varchar(max) NOT NULL,   
    [Sal] [int] NULL
)

निम्न संग्रहीत कार्यविधि, जो xpaths का उपयोग करती है, को चाल चलनी चाहिए

CREATE PROCEDURE AddEmployee
    @empXml xml
AS

INSERT INTO Employee
(
    ID,
    EmpName,
    Sal
)
VALUES
(
    @empXml.value('(/Record/Emp/ID)[1]', 'int'),
    @empXml.value('(/Record/Emp/EmpName)[1]', 'varchar(max)'),
    @empXml.value('(/Record/Emp/Sal)[1]', 'int')
)

जिसे आप इसके साथ निष्पादित कर सकते हैं:

exec AddEmployee '<Record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Emp><ID>3</ID><EmpName>Dibyendu</EmpName><Sal>3500</Sal></Emp></Record>' 

यदि रिकॉर्ड एक्सएमएल में संभावित रूप से कई 'एम्प' तत्व शामिल हो सकते हैं, तो आपको थोड़ा रिफैक्टरिंग करने की आवश्यकता होगी।



  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 सर्वर प्रबंधन स्टूडियो (SSMS) में वस्तुओं को कैसे फ़िल्टर करें - SQL सर्वर / TSQL ट्यूटोरियल भाग 19

  2. SQL में घंटों की सटीक संख्या में दो तिथियों के बीच अंतर

  3. टी-एसक्यूएल में स्प्लिट फ़ंक्शन बराबर?

  4. आप एक बड़ी MS SQL .sql फ़ाइल कैसे आयात करते हैं?

  5. SQL सर्वर 2008 में चेक बाधाओं में कस्टम त्रुटि संदेश बनाएं