【发布时间】:2012-01-06 18:37:13
【问题描述】:
假设我将员工数据存储在日志表的xml 列中。有时还会从存储过程中更新xml 列中的数据。
这里是示例
DECLARE @XML1 XML
DECLARE @XML2 XML
SET @XML1 =
'<NewDataSet>
<Employee>
<EmpID>1005</EmpID>
<Name> keith </Name>
<DOB>12/02/1981</DOB>
<DeptID>ACC001</DeptID>
<Salary>10,500</Salary>
</Employee>
</NewDataSet>'
SET @XML2 =
'<NewDataSet>
<Employee>
<EmpID>1006</EmpID>
<Name> keith </Name>
<DOB>05/02/1981</DOB>
<DeptID>ACC002</DeptID>
<Salary>10,900</Salary>
</Employee>
</NewDataSet>'
xml 的两个数据存在一些差异,我需要将它们显示为旧值和新值作为 sql 的输出
Old Value New Value
--------- ---------
1005 1006
12/02/1981 05/02/1981
ACC001 ACC002
10,500 10,900
我只需要像上面那样显示差异。所以请指导我如何使用 XQuery 比较两个 xml 数据,并在 SQL Server 中仅以上述方式显示差异。请用代码 sn-p 指导我。谢谢
【问题讨论】:
标签: sql-server-2005 tsql xquery-sql