暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle XMLQuery

askTom 2018-05-23
572

问题描述

嗨,汤姆,
我正在尝试学习XQuery与SQL的使用,但它看起来非常复杂。
您能否建议一些简单的情况 (我对XML生成不感兴趣,但使用关系数据表的XML和XQuery函数)。
从哪里开始?学习它的好处是什么,以及它如何受益。

示例和解决方案:https://community.oracle.com/thread/668829?start=0&tstart=0

select * from
   xmltable('declare function local:reverse($a)
             {
               if (string-length($a) != 0) then
                concat(substring($a,string-length($a),1), local:reverse(substring($a,1,string-length($a)-1)))
               else ()
             }; (: eof :)
             declare function local:sum($a)
             {
               if (string-length($a) != 0) then
                 xs:integer(substring($a,1,1)) + xs:integer(local:sum(substring($a,2)))
               else (0)
             }; (: eof :)
             declare function local:prod($a)
             {
               if (string-length($a) != 0) then
                 xs:integer(substring($a,1,1)) * xs:integer(local:prod(substring($a,2)))
               else (1)
             }; (: eof :)
             for $i in 1 to 10000
              where $i - local:reverse(xs:string($i)) = local:sum(xs:string($i)) + local:prod(xs:string($i))
                    return $i' columns x integer path '.');
复制

专家解答

Xquery是查询XML文档的标准。所以与SQL的关系是次要的-在上面的例子中,实际上与SQL没有关系。所做的只是运行一个独立的Xquery,然后XMLTABLE纯粹是为了将结果返回屏幕。

因此,Xquery并不是 “我们的” (即Oracle),并且有大量的资源可以学习它 (就像任何其他语言一样),例如

https://www.w3schools.com/xml/xquery_intro.asp


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论