hierarchie
Jan Serak
sherry na pikebo.cz
Čtvrtek Červen 22 14:43:06 CEST 2000
Karel Zak wrote:
>
> Zdar,
>
> potrebuji udelat v tabulce hierarchii radek, napr:
>
> zvire
> - pes
> - vlcak
> - doga
> - papousek
> - andulka
>
> Celkem logicky by to slo udelat vazbou hierId = parentId, todle ale dost
> narazi na problem jak to vySELECTovat v pozadovanem poradi v jednom dotazu
> pokud dany SQL stroj neumoznuje rekurzni zpracovani (to ma pokud vim umi jen
> oraclovske WALK TREE --- nebo jak se to jmenuje).
Obavam se, ze pokud samotny SQL parser neumi rekurzi, tak to na jediny SELECT
rozhodne nepujde. Jeste je jakasi nadeje v podobe proceduralni nadstavby
a stored procedures. V takovem pripade mohu napsat funkci
function path(o,g) boolean;
ktera zjisti, zda existuje cesta z o do g. Tu pak mohu pouzit pro vyber
podstromu:
select * from zvirena where path(id,'pes');
Pozadovane trideni vsak z toho stejne nevznikne.
Jinak: chybejici rekurze je duvod, proc ciste SQL (norma SQL92?) neni uplny
jazyk.
Jan Serak
Další informace o konferenci Databases