当前位置:  开发笔记 > Android > 正文

如何将xml数据插入sql server 2005中的表中

如何解决《如何将xml数据插入sqlserver2005中的表中》经验,为你挑选了1个好方法。

我的表结构是

CREATE TABLE [dbo].[Emp](
    [ID] [int] NOT NULL,
    [EmpName] [varchar](50)  NOT NULL,
    [Sal] [int] NULL,
) 

在这个emp表中,我想从xml字符串中插入数据

xml是


3Dibyendu3500

假设这个xml存储在我的存储过程中的一个变量中,我只想插入这个xml,这样在EMP表中结果ID数据将插入到ID列中,EmpName数据将插入到EmpName列中,而Sal数据将插入Sal列.

所以请告诉我如何在商店程序中编写代码.

谢谢



1> MrEyes..:

假设XML样本如上:


    
        3
        Dibyendu
        3500
    

假设如下表:

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

以下使用xpath的存储过程应该可以解决问题

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 '3Dibyendu3500' 

如果Record XML可能包含多个'Emp'元素,则需要进行一些重构.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有