Re: Give me a suggestion 'START WITH .. CONNECT BY'.

From: Roberto Mello <rmello(at)cc(dot)usu(dot)edu>
To: "?$B;3$5$s" <yamahi(at)isi-webnet(dot)co(dot)jp>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Give me a suggestion 'START WITH .. CONNECT BY'.
Date: 2001-05-17 01:26:15
Message-ID: 20010516192615.B25655@cc.usu.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Tue, May 15, 2001 at 05:40:32PM +0900, ?$B;3$5$s wrote:
> Hello!
> I try to translate a database to PostgreSQL from ORACLE, but have a regret
> over a function '... START WITH .. CONNECT BY ...'.
> This function is descrived in a sql sentence for ORACLE, and I could not
> find in PostgreSQL.
> For example
> SELECT LEVEL, COMP_ITM, COMP_NAME, COMP_AMT FROM PSFILE
> START WITH PRNT_ITM = 'A0010'
> CONNECT BY PRIOR COMP_ITM = PRNT_ITEM;
>

There's no equivalent for the Oracle tree extensions in PostgreSQL.
Neither LEVEL, START WITH or CONNECT BY PRIOR. There's no easy way out of
this AFAIK.
You'll have to re-write your code in a way that allows you to do this
query in a SQL92 way. In Joe Celko's "SQL For Smarties" he talks about a
nifty algorithm that you can use to do this.
The OpenACS folks used that approach to port Oracle's CONNECT BY to
PostgreSQL, so you could probably ask them over at openacs.org/bboard.

-Roberto

P.S: I plan to add this to my expanded "Porting From Oracle" chapter of
the documentation.
--
+----| http://fslc.usu.edu USU Free Software & GNU/Linux Club |------+
Roberto Mello - Computer Science, USU - http://www.brasileiro.net
http://www.sdl.usu.edu - Space Dynamics Lab, Developer
Air conditioned environment - Do not open Windows.

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Forest Wilkinson 2001-05-17 02:18:51 Re: [HACKERS] Re: possible row locking bug in 7.0.3 & 7.1
Previous Message Roberto Mello 2001-05-17 01:22:52 Re: Exp/Imp Problems...