栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Oracle UNIOn 和 ORDER BY 的奇怪问题

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Oracle UNIOn 和 ORDER BY 的奇怪问题

这并没有真正回答问题,但它似乎是解析器错误(或“功能”)而不是语言要求。

根据 My Oracle Support,这似乎是作为错误 14196463 提出的,但没有解决就关闭了。社区线程 3561546 中也提到了它。您需要一个 MOS 帐户,或者至少是一个 Oracle 帐户,才能查看其中任何一个。

据我所知,在 OTN 线程中也讨论过它需要基本的 Oracle 登录名而不是 MOS 帐户。这也没有太多信息,但重复了您的发现,并且还表明该行为至少可以追溯到 9.2.0.8 甚至更早。

该文档有点含糊,但并不表明这预计会成为问题:

对于包含集合运算符

UNIOn
INTERSECT
MINUS
或 的复合查询
UNIOn ALL
,该
ORDER BY
子句必须指定位置或别名而不是显式表达式。此外,该
ORDER BY
子句只能出现在最后一个组件查询中。该
ORDER BY
子句对整个复合查询返回的所有行进行排序。

您正在为您的表达式添加别名并使用它,它并没有说您必须为特定组件添加别名(尽管当然它也没有说您不必)。

该行为似乎与对最终投影有效的别名不一致,并且关于别名的通常规则仅在 order by 子句中有效 - 这似乎介于两者之间。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/384101.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号