【发布时间】:2011-06-16 14:05:34
【问题描述】:
是否可以在视图中添加 ORDER SIBLINGS BY fieldName? 我有一个层次结构,其中我成功地使用了具有 CONNECT BY 功能的查询。
但是,当我在视图定义中添加 ORDER SIBLINGS BY fieldName 时,Oracle 给出了一个奇怪的括号错误。
drop view myview;
create view myview as (
select id, level as depth, label, parentid, orderhint,
connect_by_root myfield1 "myfield1", connect_by_root id "toplevelparentid"
from mytable
connect by prior id = parentid
start with id in (select id from mytable where parentid is null)
order siblings by orderhint
);
没有 ORDER SIBLINGS BY 或在视图定义之外,它就像一个魅力。否则,我得到:
ORA-00907:缺少右括号
【问题讨论】:
-
不推荐,在视图中使用
ORDER BY,因为它对使用视图的人来说并不明显(但看不到生成它的查询)——浪费资源 -
这不是一个普通的视图,它有一个特殊的用途。我不能提供所有细节,但这里的顺序至关重要。还是谢谢。
标签: sql oracle oracle10g sql-order-by ora-00907