WEB开发网
开发学院数据库Oracle Oracle XQuery查询、构建和转换XML 阅读

Oracle XQuery查询、构建和转换XML

 2007-05-05 12:04:35 来源:WEB开发网   
核心提示: SELECT XMLQuery('for $k in 1return ({for $i in ora:view("employees")/ROW,$j in $emps/EMPLOYEES/EMPLOYEEwhere $i/EMPLOYEE_ID = $j/EM
SELECT XMLQuery(
'for $k in 1
return (
{for $i in ora:view("employees")/ROW,
$j in $emps/EMPLOYEES/EMPLOYEE
where $i/EMPLOYEE_ID = $j/EMPNO
return (
{xs:string($i/EMPLOYEE_ID)}
{xs:string(fn:concat($i/FIRST_NAME, " ", $i/LAST_NAME))}
{xs:integer($j/BONUS)}
)} )'
PASSING xmlparse (document httpuritype
('http://localhost/employees/empsbonus.xml').getCLOB()) as "emps"
RETURNING CONTENT).getStringVal() as RESULT FROM DUAL;

以上查询是一个有关如何使用 XQuery 基于 XML 和非 XML 数据(以不同的方式从不同的数据源中检索)生成 XML 文档的示例。具体而言,使用 ora:view() 函数访问 HR 演示模式中的默认 employees 关系表,并使用 PASSING 子句中的 httpuritype() 函数借助于 HTTP 访问 empsbonus.xml 文档。然后,在 FLWOR 表达式的 return 子句中构建新的 XML 文档。最后,将获得以下 XML 文档:

100
Steven King
1200
101
Neena Kochhar
1000

解决性能问题

正如您从前面的部分中了解到的,XQuery 是一种用于查询 Oracle 数据库存储的 XML 内容的高效方法 - 无论您是处理本地存储的 XMLType 数据还是查询基于关系数据构建的 XML 视图。但根据对数据使用的存储类型的不同,XQuery 表达式的执行性能可能迥然不同。尤其是,Oracle XML DB 可以优化基于由 ora:view 函数创建的 SQL/XML 视图而构建的 XQuery 表达式。对于 XMLType 表或列中存储的 XML 数据,只能对使用结构化(对象-关系)存储技术存储的基于 XML 模式的 XMLType 数据进行 XQuery 优化。

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:Oracle XQuery 查询

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接