【发布时间】:2021-12-27 19:57:22
【问题描述】:
我们正在从 Oracle 迁移到 SQL Server。 Oracle数据库中有写dbms_xmlgen.getxml(select query)的视图。我们如何在 SQL Server 中更改它。
请帮帮我。
【问题讨论】:
-
请提供一个可重现的最小示例。
标签: sql-server xml oracle tsql
我们正在从 Oracle 迁移到 SQL Server。 Oracle数据库中有写dbms_xmlgen.getxml(select query)的视图。我们如何在 SQL Server 中更改它。
请帮帮我。
【问题讨论】:
标签: sql-server xml oracle tsql
SQL Server 中的相应功能是SELECT ... FOR XML 查询。来自docs的EG:
USE AdventureWorks2012;
GO
SELECT E.BusinessEntityID "@EmpID",
'Example of using node tests such as text(), comment(), processing-instruction()' as "comment()",
'Some PI' as "processing-instruction(PI)",
'Employee name and address data' as "text()",
'middle name is optional' as "EmpName/text()",
FirstName as "EmpName/First",
MiddleName as "EmpName/Middle",
LastName as "EmpName/Last",
AddressLine1 as "Address/AddrLine1",
AddressLine2 as "Address/AddrLIne2",
City as "Address/City"
FROM HumanResources.Employee AS E
INNER JOIN Person.Person AS P
ON P.BusinessEntityID = E.BusinessEntityID
INNER JOIN Person.BusinessEntityAddress AS BAE
ON BAE.BusinessEntityID = E.BusinessEntityID
INNER JOIN Person.Address AS A
ON BAE.AddressID = A.AddressID
WHERE E.BusinessEntityID=1
FOR XML PATH;
【讨论】: