0

我需要使用 Oracle 对象类型生成 XML,并且元素将具有属性。复杂之处在于元素和属性都将具有如下值

员工> 姓名 id=100>Aaron /ename> /employee>

要求是仅使用对象类型来实现这一点,而不是使用 xmlelement,xmlattributes 因为实际场景包含大量列。

Create or replace type ename_type as object("@id" number,ename varchar2(100));

请帮忙写SQL查询

Select xmlement("employee",xmlforest()) from employees;
4

1 回答 1

0

好的,这里是:

DDL

create type ename_type as object  (
  id number,
  ename varchar2(100)
);

create table employees of ename_type;

insert into employees values ( ename_type( 1,'dani') );

DML 生成您的 XML

Select XMLELEMENT("employee",
                  XMLATTRIBUTES(e.id AS "ID"),
                  xmlforest(e.name)) 
from employees e;

说明

在 DDL 上,我们创建对象的类型和表。然后,在 DML 上,我们将 XMLELEMENT 函数应用于属性和森林。

更多信息

您可以在数据库 SQL 参考文档中了解它

享受!

于 2017-12-18T14:21:58.337 回答