我有一些使用DBMS_XMLSCHEMA注册的XML模式定义。我已经使用生成的XMLTypes创建了表。我可以使用XMLQuery创建XML,如果我理解正确,那么如果定义正确,则可以将查询结果插入表中。
最终需要将XML写入文件,但是我不确定的部分是从头开始编写XMLQueries是否是生成XML的最佳方法。有什么方法可以让XML模式生成指南的XML存根或生成模板XMLQuery?目前,数据全部存储在常规Oracle表中,但排列方式却大不相同,因此有关基于特定的一组已注册模式简化向XML导出的任何信息都是有用的。
我认为如果您的表与您的模式匹配,则有一种方法可以做到(我认为甚至有一种方法可以基于模式生成表)。如果表的结构不同,则可能必须编写查询才能将数据转换为XML。
—
FrustratedWithFormsDesigner 2013年
我可以基于架构生成一个表,但这只是一个XMLType列的表。这是你的意思吗?
—
Leigh Riffel
@LeightRiffel:不,我很确定几年前在这里有一个项目,DBA使用某种Oracle工具来生成其结构和关系与模式匹配的表。我不记得该工具的名称,并且可能无法在所有模式下使用,但它确实存在。否则,这是手工编写的查询,以将“正常”数据库数据转换为XML结构。当表与模式匹配时,您仍然需要查询,但是它们要简单得多。您是否尝试过在StackOverflow上进行搜索/询问?
—
FrustratedWithFormsDesigner
搜索是,问,否。看起来有些工具可以执行转换,但是我还没有发现Oracle内置的任何东西。
—
Leigh Riffel
真?嗯 我以为 DBA表示这是Oracle中的事情。他可能有一个自定义脚本,该脚本使用其他Oracle函数从架构创建表。很抱歉,他现在不在身边问。
—
FrustratedWithFormsDesigner