我目前正在使用Microsoft的FOR XML PATH功能以XML格式从MS SQL Server中提取数据.我非常喜欢这个功能,但是使用特定于供应商的功能总是很不舒服.
是否有其他主要数据库供应商有类似的东西?
让我更具体地说明我正在寻找的功能类型
在MS SQL中,您可以使用此查询
SELECT so.id AS '@Id', so.Code AS '@Code', cu.Code AS 'Customer/@Code', cu.Name AS 'Customer/@Name', (SELECT Item_Num AS '@Item', pa.Code AS '@PartCode' FROM tblSalesItem si LEFT JOIN tblPart pa ON pa.Id = si.Part_Id WHERE si.SalesOrder_ID = so.Id FOR XML PATH('SalesItem') , type) FROM tblSalesOrder so JOIN tblCustomer cu ON so.customer_id = cu.ID FOR XML PATH('SalesOrder'), ROOT('SalesOrders')
生成这个XML
我可以逐列控制元素和属性的使用.我可以创建元素的属性以将相关列组合在一起.我可以使用子查询来生成嵌套元素.您甚至可以使用返回XML的函数来生成任意深度的树.