【问题标题】:adding xml value to table in sql在sql中将xml值添加到表中
【发布时间】:2013-09-10 18:21:41
【问题描述】:

我有这样的 xml 文件

<SamplingPlanProject>
   <CoordinateSystem>Lat/Long</CoordinateSystem>
   <InputUnits>M</InputUnits>
   <ProjectEngineerFirstName>Scott</ProjectEngineerFirstName>
   <ProjectEngineerLastName>Deaton</ProjectEngineerLastName>
   <ProjectName>1</ProjectName>
   <ProjectNumber>Test Project</ProjectNumber>
   <SamplingPlanProjectGUID>e91da635-0b5d-4e15-b71e-8e1986cf7a9d</SamplingPlanProjectGUID>
   <SamplingPlanProjectSite>
       <SiteID>Test Site</SiteID>
       <SamplingPlanProjectSiteGUID>42113b66-92b2-4387-b17b-3a346b980f3c</SamplingPlanProjectSiteGUID>
   </SamplingPlanProjectSite>
</SamplingPlanProject>

现在如何将这些元素值添加到 SQL Server 表中?我有samplingplanprojectsite 的单独表格,其中包含siteidSamplingPlanProjectSiteGUIDSamplingPlanProjectGUID

谁能帮忙解决这个问题?

如何为此编写代码以获取 rows 的值

【问题讨论】:

    标签: sql sql-server xml xslt


    【解决方案1】:

    试试这样:-

    CREATE PROCEDURE AddEmp
        @empXml xml
    AS
    
    INSERT INTO Employee
    (
        siteID,
        samplingPlanProjectSiteGUID,
        samplingPlanProjectGUID
    )
    VALUES
    (
        @empXml.value('(/SamplingPlanProject/CoordinateSystem/InputUnits/SiteID)[1]', 'varchar(max)'),
       @empXml.value('(/SamplingPlanProject/CoordinateSystem/InputUnits/SamplingPlanProjectSiteGUID)[1]', 'varchar(max)'),
       @empXml.value('(/SamplingPlanProject/CoordinateSystem/InputUnits/SamplingPlanProjectGUID)[1]', 'varchar(max)'),
    )
    

    注意:- 我已将表名视为 EMP 和表列名,如上所述。请根据您的要求更改值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-18
      • 2021-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-27
      • 1970-01-01
      相关资源
      最近更新 更多