0

是否可以在视图中添加 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: 缺少右括号

4

1 回答 1

2

您是否尝试过删除括号:

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;
于 2011-06-16T14:12:11.567 回答