我有一个
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)