gpt4 book ai didi

sql - 在其他数据库产品中是否有等同于 MS SQL 'FOR XML PATH' 的东西?

转载 作者:数据小太阳 更新时间:2023-10-29 01:48:14 24 4
gpt4 key购买 nike

我目前正在使用 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

<SalesOrders>
<SalesOrder Id="13" Code="C1002 ">
<Customer Code="ROBERTS " Name="Roberts Equipment Inc." />
<SalesItem Item="1" PartCode="FP-0001" />
<SalesItem Item="2" PartCode="FP-0003" />
</SalesOrder>
<SalesOrder Id="15" Code="C1004 ">
<Customer Code="EXBEL-LIFTS" Name="Exbel Lifts Inc." />
<SalesItem Item="1" />
</SalesOrder>
</SalesOrders>

我可以逐列控制元素和属性的使用。我可以创建元素的属性以将相关列组合在一起。我可以使用子查询来生成嵌套元素。您甚至可以使用返回 XML 的函数来生成任意深度的树。

最佳答案

FOR XML PATH 不在 ANSI SQL-92 标准中,因此将由各个供应商决定。我不知道 Oracle 或 MySQL 中有任何等效项。

关于sql - 在其他数据库产品中是否有等同于 MS SQL 'FOR XML PATH' 的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/664815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com