Sql dotaz

Jan Serak sherry na pikebo.cz
Pondělí Listopad 4 08:02:06 CET 2002


Josef Svoboda wrote:
> 
> > Mam tabulku ve tvaru :
> > id
> > zavislost
> > kde id urcuje primarni klic nejakeho objektu a zavislost udava zavislost na
> > nejakem jinem objektu.
> > Objekt muze byt zavisly jen na objektu s nizsim id(kvuli zacykleni). Objekt
> > muze byt zavisly na vice objektech a zaroven tyto objekty mohou byt take
> > zavisle.
> >
> > Jedna se mi sql dotaz, ktery pro dane id vypise vsechny objekty na kterych
> > je zavisly.
> 
> Na takoveto rekurzivni dotazy bohuzel SQL nestaci. Nektere databaze (Oracle?)
> maji specificka rozsireni nad ramec SQL, ktera takovy dotaz umoznuji zapsat.
> Jinak nezbyva, nez to resit procedurou.

Ano, v Oracle:

SELECT * FROM tabulka
	START WITH id=<koren stromu>
	CONNECT BY PRIOR zavislost=id;

vybere zaznamy spadajici do (pod)stromu s korenem <koren stromu>.

						Jan Serak


Další informace o konferenci Databases