什么是XMLTABLE。
请告诉我创建XMLTABLE的语法
从XMLTABLE获取记录的示例查询。
在创建XMLTABLE之前是否需要任何数据库级别的先决条件。
答案 0 :(得分:7)
函数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
成品。
确定回复第二条评论:
所以你确实想要使用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
答案 1 :(得分:0)
XMLTABLE你可能正在寻找的东西。