2017-07-10 7 views
1

ich eine Tabelle über XML-Datei bin zu aktualisieren, aber wenn ich den SQL-Code ausführen es diesen Fehler werfen: -Die mehrteilige Kennung konnte nicht gebunden werden. [4104]

enter image description here

Und hier ist mein Code

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 

Antwort

1

Das ist nicht die richtige Syntax Um die Tabelle mit Openxml Ergebnis zu aktualisieren, versuchen Sie diesen Weg

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 
Verwandte Themen