在Oracle数据库中,我有一个包含简单属性的表,例如:
[name
first name
age
是否有执行该操作的SQL函数或Java库?
提前感谢
XSD代表XML Schema Definition,用于描述XML文档的结构,约束,数据类型。因此,您可以将数据放入XML文档中,但是该文档的结构/格式(不包含任何数据)将由关联的XSD描述。
由于您正在谈论数据,您可能需要XML文档(而不是XSD),并且可以使用Oracle's XML functions:
Oracle设置:
CREATE TABLE table_name ( first_name, last_name, date_of_birth ) AS
SELECT 'Alice', 'Adams', DATE '1970-01-01' FROM DUAL UNION ALL
SELECT 'Beryl', 'Booth', DATE '1980-01-01' FROM DUAL UNION ALL
SELECT 'Carol', 'Cross', DATE '1990-01-01' FROM DUAL;
查询:
SELECT XMLELEMENT(
"People",
XMLAGG(
XMLELEMENT(
"Person",
XMLFOREST(
first_name AS "FirstName",
last_name AS "LastName",
EXTRACT( YEAR FROM ( SYSDATE - date_of_birth ) YEAR TO MONTH ) AS "Age"
)
)
)
) AS XML
FROM table_name
输出:
| XML || :------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------------------- ||Alice FirstName> Adams LastName> 50 Age> Person> Beryl FirstName> Booth < / LastName> 40 Age> Person> Carol FirstName> Cross LastName> 30 Age> Person> People> |
db <>小提琴here
如果您确实要生成XSD,则可以使用与XSD相同的功能来完成此工作,而XSD本身就是XML文档;但这不是您将数据放入其中的内容。