首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何循环和解析sql server存储过程中的xml参数

如何循环和解析sql server存储过程中的xml参数
EN

Stack Overflow用户
提问于 2011-04-23 01:21:24
回答 1查看 33.7K关注 0票数 13

我想编写一个接受XML参数的存储过程,解析它的元素并将它们插入到表中。这是我的XML:

我想循环该参数(比如C#中的foreach ),检索每个person,然后解析它的数据(ID、姓名、姓氏),将它们插入到一个包含3个字段的表中。

如何做到这一点?

EN

Stack Overflow用户

回答已采纳

发布于 2011-04-23 01:27:16

尝试以下语句:

代码语言:javascript
复制
SELECT
   Pers.value('(ID)[1]', 'int') as 'ID',
   Pers.value('(Name)[1]', 'Varchar(50)') as 'Name',
   Pers.value('(LastName)[1]', 'varchar(50)') as 'LastName'
FROM
   @YourXml.nodes('/Employees/Person') as EMP(Pers)

这为您提供了该数据的行/列表示。

当然,您可以将其扩展为INSERT语句的第二部分:

代码语言:javascript
复制
INSERT INTO dbo.YourTargetTable(ID, Name, LastName)
  SELECT
     Pers.value('(ID)[1]', 'int') as 'ID',
      Pers.value('(Name)[1]', 'Varchar(50)') as 'Name',
     Pers.value('(LastName)[1]', 'varchar(50)') as 'LastName'
  FROM
     @YourXml.nodes('/Employees/Person') as EMP(Pers)

完成-不需要循环或游标或任何可怕的东西!:-)

票数 47
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5758091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档