From: | "Vazsonyi Peter[ke]" <neko(at)kornel(dot)szif(dot)hu> |
---|---|
To: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | recursive seek...? |
Date: | 1998-03-16 14:37:50 |
Message-ID: | Pine.A32.3.96.980316145935.20524B-100000@kornel.szif.hu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Kello!
I have a recusive relation, like this:
=> create table re( name text, oid parent);
and needed the name from a tuple, and the name of all parents...
i tryd some, like:
=> create function fullname(oid) returns text
-> as 'select fullname(re.parent) || re.name from re where re.oid=$1;'
-> language 'sql';
that isn't work. of course ;(
i can get a name, and the parents oid, and the oid of parents parent etc...
with _MORE_ queries.
for example:
=> select oid,* from re;
oid | name | parent
----+------+--------
5000|one | (NULL or 0)
5001|two | 5000
5002|3d | 5000
5003|4d | 5002
i now the oid:5003. i need the name: "one/two/4d"
must i send thees queries to the backend? (in pseudo code):
$curr=5003
$fulln=''
while $curr do
=> SELECT name, parent FROM re WHERE oid=$curr;
$fulln='$fulln/$name'; $curr=$parent;
enddo
so i liked send _ONLY_ 5003, and reveive in a trice the full name.
this time i can't this ;(
sprintf ("`-''-/").___..--''"`-._ Error In
("%|s", `6_ 6 ) `-. ( ).`-.__.`) Loading Object
"Petike" (_Y_.)' ._ ) `._ `. ``-..-' line:3
/* Neko */ _..`--'_..-_/ /--'_.' ,' Before /*Neko*/
); (il),-'' (li),' ((!.-' see: http://lsc.kva.hu
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas G. Lockhart | 1998-03-16 15:12:49 | Re: [HACKERS] varchar() vs char16 performance |
Previous Message | Bruce Momjian | 1998-03-16 14:33:21 | Re: [HACKERS] Re: [PORTS] Port Bug Report: Grant select to other user |