【发布时间】:2016-03-28 18:24:51
【问题描述】:
我正在尝试将数据插入到表中,同时我得到一个 错误
找不到列名或用户定义函数“Tbl.Col.value”或聚合 Tbl.Col.value 或名称不明确
这是我的存储过程:
ALTER PROCEDURE Ecal_InsertVerniercal_Sp
@exml XML
AS
BEGIN
INSERT INTO Vernier_Gauge_Calibration (Comment, Report_Number, Acceptance_Status, Calibration_Date, Approved_By)
SELECT
Tbl.Col.value('@Reamrk', 'varchar(200)') AS Reamrk,
Tbl.Col.value('@ReportNo', 'nvarchar(255)') AS ReportNo,
Tbl.Col.value('@Status', 'varchar(MAX)') AS Status,
Tbl.Col.value('@CalDate', 'datetime') AS CalDate,
Tbl.Col.value('@CalBy', 'datetime') AS CalBy
FROM
@exml.nodes('/CalibrationData/CalInfo') AS Tbl (Col)
RETURN;
END
GO
这是我的 XML,它在 jQuery 中动态生成。
<calibrationdata>
<extreading>
<er>
</er>
</extreading>
<internalreading>
<ir>
</ir>
</internalreading>
<masterdata>
<mb1>110118</mb1>
<desc1>Vernier Caliper-Height-0-to-600</desc1>
<duedt1>02/06/2016</duedt1>
<rmk1>TL-14/VER-0154</rmk1>
<mb2>
</mb2>
<desc2>
</desc2>
<duedt2>
</duedt2>
<rmk2>
</rmk2>
<mb3>
</mb3>
<desc3>
</desc3>
<duedt3>
</duedt3>
<rmk3>
</rmk3>
<mb4>
</mb4>
<desc4>
</desc4>
<duedt4>
</duedt4>
<rmk4>
</rmk4>
<mb5>
</mb5>
<desc5>
</desc5>
<duedt5>
</duedt5>
<rmk5>
</rmk5>
<mb6>
</mb6>
<desc6>
</desc6>
<duedt6>
</duedt6>
<rmk16>
</rmk16>
</masterdata>
<calinfo>
<reamrk>fdg</reamrk>
<reportno>ALIL-2015-12-104-5</reportno>
<status1>Accepted</status1>
<caldate>31/12/2015</caldate>
<calby>Alok Sahu</calby>
</calinfo>
<visualpara>
<vp1>Clamp,,Lock,,Fine_Adjustment,,Rusty,,Damage,,Dent_Marks,,</vp1>
<vp2>External_Jaws,,Shims,,Jaw_Movement,,</vp2>
</visualpara>
</calibrationdata>
【问题讨论】:
-
你能分享一下你的XML值的示例格式
@exml -
这个post 可能会对您的问题有所了解。
-
大家好,我已经在我的问题中添加了 xml,因为我不知道如何在这里分享它,请检查一下
标签: sql sql-server xml sql-server-2008 stored-procedures