wah tampaknya gak jalan pas saya pake
Pak Awaluddin,
pas saya masukin ke tabel saya
CREATE TABLE KELUARGA
(
WHO VARCHAR2(12 BYTE) NOT NULL,
NO NUMBER DEFAULT 1,
PARENT VARCHAR2(12 BYTE)
)
padahal sudah saya ubah di varcharnya
dan sepertinya
dia tidak meloop semua data bagaimana dia(fungsi itu bisa dapet t_no) kalau
tidak meloop semua,
tapi trima kasih. saya coba baca2 lagi fungsi Anda..
On 4/19/07, dedy afriyanto <[EMAIL PROTECTED]> wrote:
>
> Oke, Thanks.
> gw gak kepikiran kayak gitu.. ya...
> awalnya loe mikirnya gimana sih bisa tahu, tapi thanks banget,
>
> gw tdnya malah mikir function buat nampilin listnya dulu baru bikin
> function sortnya
> eloe malah cuma 1 function pendek.. lagi..
>
> yach tinggal gw taruh deh implementasinya...
>
> thanks lagi..
>
> On 4/18/07, Awaluddin Hamid <[EMAIL PROTECTED] > wrote:
> >
> > Disorting pake function aja
> >
> > SQL> CREATE TABLE kel (
> > 2 who VARCHAR2(1),
> > 3 parent VARCHAR2(1),
> > 4 no NUMBER(3));
> > Table created.
> >
> > SQL> INSERT INTO kel VALUES ('A',NULL,1);
> > 1 row created.
> > SQL> INSERT INTO kel VALUES ('B','A',1);
> > 1 row created.
> > SQL> INSERT INTO kel VALUES ('C','A',2);
> > 1 row created.
> > SQL> INSERT INTO kel VALUES ('D','B',1);
> > 1 row created.
> > SQL> INSERT INTO kel VALUES ('E','B',2);
> > 1 row created.
> > SQL> INSERT INTO kel VALUES ('F',NULL,2);
> > 1 row created.
> > SQL> INSERT INTO kel VALUES ('G','F',1);
> > 1 row created.
> >
> > SQL> CREATE OR REPLACE FUNCTION order_kel(v_who IN VARCHAR2) RETURN
> > VARCHAR2 IS
> > 2 v_parent VARCHAR2(1);
> > 3 v_no NUMBER(3);
> > 4 t_no VARCHAR2(10);
> > 5 t_who VARCHAR2(1);
> > 6 v_stat BOOLEAN;
> > 7 n NUMBER(3);
> > 8
> > 9 BEGIN
> > 10 t_no := '';
> > 11 t_who := v_who;
> > 12 v_stat := TRUE;
> > 13 n := 0;
> > 14 WHILE v_stat LOOP
> > 15 SELECT parent,no INTO v_parent,v_no FROM kel WHERE who = t_who;
> > 16 t_no := v_no||n||t_no;
> > 17 IF v_parent IS NULL THEN
> > 18 v_stat := FALSE;
> > 19 END IF;
> > 20 t_who := v_parent;
> > 21 n := n + 1;
> > 22 END LOOP;
> > 23 RETURN t_no;
> > 24 END;
> > 25 /
> > Function created.
> >
> > SQL> SELECT who FROM kel ORDER BY order_kel(who);
> > W
> > -
> > A
> > B
> > C
> > D
> > E
> > F
> > G
> > 7 rows selected.
> >
> > hth,
> > AWAL
> >
> >
> > dedy afriyanto wrote:
> > >
> > > Problem
> > > ------------
> > > saya punya tabel
> > >
> > > TABEL KELUARGA : WHO , PARENT, NO
> > >
> > > sekarang saya mau menampilkannya secara terurut ( berdasarkan no, dan
> > > parent
> > > )
> > > bagaimana caranya??
> > >
> > > jadi semisal
> > >
> > > WHO PARENT NO
> > > A 1
> > > B A 1
> > > C A 2
> > > D B 1
> > > E B 2
> > > F 2
> > > G F 1
> > >
> > > Kebetulan saja datanya udah di insertnya secara terurut kalau tidak
> > > bagaimana??
> > >
> > > OUTPUT
> > > ------------
> > > A
> > > B
> > > C
> > > D
> > > E
> > > F
> > > G
> > >
> > > Trima Kasih
> > >
> > > [Non-text portions of this message have been removed]
> > >
> > >
> >
> >
> >
>
>
[Non-text portions of this message have been removed]