【发布时间】:2010-11-16 09:25:15
【问题描述】:
什么是 XMLTABLE。
请告诉我创建 XMLTABLE 的语法
从 XMLTABLE 中获取记录的示例查询。
在创建 XMLTABLE 之前是否需要任何数据库级别的先决条件。
【问题讨论】:
什么是 XMLTABLE。
请告诉我创建 XMLTABLE 的语法
从 XMLTABLE 中获取记录的示例查询。
在创建 XMLTABLE 之前是否需要任何数据库级别的先决条件。
【问题讨论】:
XMLTABLE 可能就是你要找的东西。
【讨论】:
函数XMLTABLE 用于将xml 对象转换为单独的字段。 但是你可能想构造一个带有xml内容的表,这不一样。
您可以创建一个包含 xml 内容的额外列的表
CREATE TABLE mytable (my_id NUMBER PRIMARY KEY, my_xml XMLType);
然后在查询中使用 xml 内容。
INSERT INTO mytable VALUES (1,xmltype('<myxml id="D45"/>'));
SELECT my_id
,my_xml.extract('/myxml@id').getstringval()
from mytable
完成。
OK 回复第二条评论:
所以你确实想使用 XMLTABLE 函数, 您的错误表明您根本没有获取该文件。 因此,您需要制作您的网址以正确加载它。 我用嵌入式 xml 构建的一个测试用例是:
1 SELECT seq
2 , id
3 , content
4 FROM XMLTABLE('/xml/myrec'
5 PASSING XMLType('<xml>'
6 ||'<myrec id="D12"><content>hello1</content></myrec>'
7 ||'<myrec id="D13"><content>hello2</content></myrec>
8 ||</xml>')
9 COLUMNS seq FOR ORDINALITY
10 , id VARCHAR2(100) PATH '@id'
11 , content VARCHAR2(100) PATH 'content'
12* ) AS my_table
输出是:
SEQ ID CONTENT
---- ----- --------------------
1 D12 hello1
2 D13 hello2
【讨论】: