我有一个这样的 XML:
<Job>
<Piece PieceID="0001">
<OperatorID>O1</OperatorID>
<MachineID>M1</MachineID>
<Status>OK</Status>
</Piece>
<Piece PieceID="0002">
<OperatorID>O1</OperatorID>
<MachineID>M1</MachineID>
<Status>ERROR</Status>
</Piece>
</Job>
此 XML 通过 XML 类型参数传递到存储过程,该存储过程对其进行解析并将值存储在表中的单独列中 -PieceID, OperatorID, MachineID, Status
即列。
如果每个片段不存在,则此存储过程必须插入每个片段,如果该片段已经存在于 table 中,则必须更新它X
。在上面的示例中,一旦操作员修复了机器中的错误并重新运行作业,状态可能会显示为 OK for PieceID 0002
。在这种情况下,PieceID=0001
应该忽略。
如果只有一块要处理(MERGE
SQL Server 2008 中的命令?),我知道该怎么做;我无法有效地完成几百件。
请为这个问题提出一种有效的方法。谢谢你。