我需要使用Oracle对象类型生成XML,而元素将具有属性。复杂因素是元素和属性将具有如下的值
雇员> ename id = 100> Aaron / ename> /雇员>
要求是仅使用对象类型实现此目的,而不是使用xmlelement,xmlattributes,因为实际场景包含大量列。
public class ItemObject {
@SerializedName("name")
private String songTitle;
@SerializedName("id")
private String songYear;
@SerializedName("sku")
private String songAuthor;
public ItemObject(String songTitle, String songYear, String songAuthor) {
this.songTitle = songTitle;
this.songYear = songYear;
this.songAuthor = songAuthor;
}
public String getSongTitle() {
return songTitle;
}
public String getSongYear() {
return songYear;
}
public String getSongAuthor() {
return songAuthor;
}
}
请帮助编写SQL查询
Create or replace type ename_type as object("@id" number,ename varchar2(100));
答案 0 :(得分: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') );
用于生成XML的DML :
Select XMLELEMENT("employee",
XMLATTRIBUTES(e.id AS "ID"),
xmlforest(e.name))
from employees e;
解释:
在DDL上我们创建了类型和对象表。然后,在DML上,我们将XMLELEMENT函数应用于属性和林。
更多信息:
您可以在Database SQL Reference docs
上了解相关信息享受!