将XML节点插入表中的SQL列

前端之家收集整理的这篇文章主要介绍了将XML节点插入表中的SQL列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 XML文件,我将其传递给存储过程.

我也有一张桌子.该表有VehicleReg |列XML | ProcessedDate

我的XML就是这样的:

<vehicles> 
  <vehicle>
    <vehiclereg>AB12CBE</vehiclereg>
    <anotherprop>BLAH</anotherprop>
  </vehicle>
  <vehicle>
    <vehiclereg>AB12CBE</vehiclereg>
    <anotherprop>BLAH</anotherprop>
  </vehicle>
</vehicles>

我需要做的是读取xml并将vehiclereg和整车xml字符串插入每一行(dateprocessed是getdate()所以不是问题).

我正在做类似下面的事情,但没有运气:

DECLARE @XmlData XML
Set @XmlData = EXAMPLE XML
SELECT T.Vehicle.value('(vehiclereg)[1]','NVARCHAR(10)') AS vehiclereg,T.Vehicle.value('.','NVARCHAR(MAX)'),GETDATE()
FROM @XmlData.nodes('Vehicles/Vehicle') AS T(Vehicle)

我想知道是否有人可以指出我正确的方向?

问候

解决方法

完整查询,如您所愿:

DECLARE @XmlData XML
Set @XmlData = '<vehicles> 
  <vehicle>
    <vehiclereg>AB12CBE</vehiclereg>
    <anotherprop>BLAH</anotherprop>
  </vehicle>
  <vehicle>
    <vehiclereg>AB12CBE</vehiclereg>
    <anotherprop>BLAH</anotherprop>
  </vehicle>
</vehicles>'
SELECT T.Vehicle.value('./vehiclereg[1]',T.Vehicle.query('.'),GETDATE()
FROM @XmlData.nodes('/vehicles/vehicle') AS T(Vehicle)

enter image description here

猜你在找的XML相关文章