无法绑定多部分标识符。[4104]

The multi-part identifier could not be bound.[4104]

我正在通过 XML 文件更新 table,但是当我执行 sql 代码时,它抛出了这个错误 :-

这是我的代码

IF(@PreppedUpdateModelXml is NULL OR @PreppedUpdateModelXml.exist('*') = 0)
            BEGIN
                --Create an internal representation of the XML document.
                EXEC sp_xml_preparedocument @PID OUTPUT,@PreppedUpdateModelXml

                UPDATE EquipmentModel
                SET [Category] = em.[Category]
                SELECT * FROM OPENXML (@PID, '/Root/NewDataSet',2)
                WITH ([Category] VARCHAR(50), [ModelID] INT) AS em
                WHERE EquipmentModel.ModelID = em.ModelID
            END

Openxml 结果更新 table 的语法不正确,试试这个方法

UPDATE e
SET    [Category] = em.[Category]
FROM   EquipmentModel e
       JOIN OPENXML (@PID, '/Root/NewDataSet', 2)
               WITH ([Category] VARCHAR(50),
                     [ModelID]  INT) em
         ON e.ModelID = em.ModelID