下述查询在10G可以执行,但在9I不能执行,各位大侠指点一下
select * from XMLTABLE('/Recordset/DataRows/row'
PASSING
Xmltype('<?xml version="1.0" encoding="gbk" ?>
<Recordset>
<Fields>
<Field name="ID" dt="Varchar" size="50" />
<Field name="姓名" dt="Varchar" size="50" />
<Field name="年龄" dt="Varchar" size="50" />
<Field name="语文" dt="Varchar" size="50" />
<Field name="数学" dt="Varchar" size="50" />
<Field name="英语" dt="Varchar" size="50" />
<Field name="化学" dt="Varchar" size="50" />
</Fields>
<DataRows>
<row>
<ID value="1" />
<姓名 value="测试" />
<年龄 value="111" />
<语文 value="88" />
<数学 value="99" />
<英语 value="78" />
<化学 value="78" />
</row>
<row>
<ID value="2" />
<姓名 value="测试2" />
<年龄 value="222" />
<语文 value="34" />
<数学 value="23" />
<英语 value="13" />
<化学 value="34" />
</row>
<row>
<ID value="3" />
<姓名 value="测试3" />
<年龄 value="333" />
<语文 value="43" />
<数学 value="32" />
<英语 value="323" />
<化学 value="34" />
</row>
</DataRows>
</Recordset>')
COLUMNS
"id" varchar2(50) PATH 'ID/@value',
"姓名" varchar2(50) PATH '姓名/@value',
"年龄" varchar2(50) PATH '年龄/@value',
"语文" varchar2(50) PATH '语文/@value',
"数学" varchar2(50) PATH '数学/@value',
"英语" varchar2(50) PATH '英语/@value',
"化学" varchar2(50) PATH '化学/@value'
) ;
select * from XMLTABLE('/Recordset/DataRows/row'
PASSING
Xmltype('<?xml version="1.0" encoding="gbk" ?>
<Recordset>
<Fields>
<Field name="ID" dt="Varchar" size="50" />
<Field name="姓名" dt="Varchar" size="50" />
<Field name="年龄" dt="Varchar" size="50" />
<Field name="语文" dt="Varchar" size="50" />
<Field name="数学" dt="Varchar" size="50" />
<Field name="英语" dt="Varchar" size="50" />
<Field name="化学" dt="Varchar" size="50" />
</Fields>
<DataRows>
<row>
<ID value="1" />
<姓名 value="测试" />
<年龄 value="111" />
<语文 value="88" />
<数学 value="99" />
<英语 value="78" />
<化学 value="78" />
</row>
<row>
<ID value="2" />
<姓名 value="测试2" />
<年龄 value="222" />
<语文 value="34" />
<数学 value="23" />
<英语 value="13" />
<化学 value="34" />
</row>
<row>
<ID value="3" />
<姓名 value="测试3" />
<年龄 value="333" />
<语文 value="43" />
<数学 value="32" />
<英语 value="323" />
<化学 value="34" />
</row>
</DataRows>
</Recordset>')
COLUMNS
"id" varchar2(50) PATH 'ID/@value',
"姓名" varchar2(50) PATH '姓名/@value',
"年龄" varchar2(50) PATH '年龄/@value',
"语文" varchar2(50) PATH '语文/@value',
"数学" varchar2(50) PATH '数学/@value',
"英语" varchar2(50) PATH '英语/@value',
"化学" varchar2(50) PATH '化学/@value'
) ;
解决方案 »
- Materialized View cross innerjoin问题
- "女友"生日,祝福有分,有创意的重赏!
- 请问使用向导创建表时,有一个存储信息中的:增长速率xxx行/日月年,是什么意思,感谢
- 求sql语句
- 在SQL*Plus中用insert插进的都是中文的,为什么一存入服务器后,再select出的就是???”
- 菜鸟提问:关于SQL语句
- 如何在linux上用命令启动“managerservice”服务?
- oracle 8i 如何配置 (OMS)oracel management server?
- 我想学习Function,哪里有好的入门资料,或者教程。多谢
- 请各位大侠看看我这个触发器的代码有什么错误!!!
- 关于oracle自定义数据类型与性能的高难度问题
- oracle 行转化列
ORA-00928: 缺失 SELECT 关键字
什么原因?