Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: "order siblings by" problem with Oracle 9.0.1.1
OPEN FOR is part of Dynamic SQL, and as such goes through
SQL engine, so it works ok at the expense of an extra soft
parse each time the procedure is executed. Personally, I
skipped 9.0.1 altogether and started my 9i experiments
with 9.2 - and generally I wasn't disappointed despite some
frustrating bugs and the fact that 9.2.0.2 is "mandatory patch
set" for XDB and Streams features (which probably means
"don't even try them with 9.2.0.1"...) Amount of new
[extremely welcome] features in PL/SQL and everywhere else
is amazing.
-- Vladimir Zakharychev (bob@dpsp-yes.com) http://www.dpsp-yes.com Dynamic PSP(tm) - the first true RAD toolkit for Oracle-based internet applications. All opinions are mine and do not necessarily go in line with those of my employer. "Oleg Paraschenko" <usenet_at_sein.sportwetten.spb.ru> wrote in message news:70f723dc.0302210509.1f294e5f_at_posting.google.com...Received on Fri Feb 21 2003 - 08:18:45 CST
> Hello Vladimir,
>
> "Vladimir M. Zakharychev" <bob_at_dpsp-yes.com> wrote in message
news:<b2qua4$94o$1_at_babylon.agtel.net>...
> ...
> > So I think this is a bug in PL/SQL (is was claimed that 9i has
> > unified engine used by both SQL and PL/SQL, but apparently
> > this was not the case until 9.2).
>
> Thank you for this information. Slightly modified code works, for example:
>
> declare
> v integer;
> type t_cursor is ref cursor;
> c t_cursor;
> begin
> open c for 'select x from (
> select 1 x from dual
> )
> start with x=1
> connect by prior x = x - 1
> order siblings by x';
> fetch c into v;
> dbms_output.put_line ('X is:'||v);
> end;
> /
>
> Anyway, I don't like this solution and will migrate to 9.2.
>
> --
> Oleg