baru saja saya test dan saya ubah code nya
IF v_parent IS NULL OR v_parent='0' THEN
v_stat := FALSE;
END IF;
akhirnya mendapatkan value tapi timbul masalaha lagi
setiap kali memakai ORDER BY
muncul error,
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "TABEL.FBB_SORT_MOD_ID", line 17
v_parent VARCHAR2(12);
v_no NUMBER(3);
t_no VARCHAR2(10);
t_who VARCHAR2(12);
v_stat BOOLEAN;
n NUMBER(3);
LINE 17 t_no := v_no||n||t_no;
Trims Pak Awal,
On 4/23/07, dedy afriyanto <[EMAIL PROTECTED]> wrote:
>
> mmh,
> nilai acuan itu bukan no_sort dari keseluruhan ya??
>
> >>
> Logikanya gak gitu mas Dedy, function disini hanya memberi nilai acuan,
> sorting tetap dilakukan SQL melalui perintah ORDER BY berdasarkan nilai
> acuan yg diberikan function.
> >>
>
> kalau saya coba manggil pake
>
> SELECT function('who')
> FROM DUAL
>
> gak mereturn apa-apa
>
> outputnya
> ORA-01785: ORDER BY item must be the number of a SELECT-list expression
>
> >>
> Seperti contoh yg diberikan dibawah B.1.1.1 sebagai turunan dari B tentu
> saja akan berhenti di parent teratas (B). Kalau harus dilooping ke A dan
> C juga, nantinya record B.1.1.1 akan masuk ke group mana?A, B, atau C?
> Atau bisa di-share disini masalah yg muncul apa? Function-nya error a/
> output yg dihasilkan tidak sesuai yg diharapkan?
> >>
>
> ya kan udah ada no nya
>
> WHO PARENT NO
> A NULL 1
> B NULL 2
> C NULL 3
> B1.1.1 B 1
>
> kan masalahnya gini
>
> SELECT WHO
> FROM TABLE
> ORDER BY FUNC_SORT(WHO)
>
> Kalau sih FUNC_SORT bisa mendapatkan no_sort dari pemasalahan tabel ini
> kan mudah
> cuma jika sih FUNC_SORT hanya bisa looping cuma di B aja ya no_sort nya
> gak dapet semua donk pak Awal
> sehingga gak bisa
> seperti ini outputnya.
>
> Trima Kasih Pak Awal,
> A
> B
> B1.1.1
> C
>
>
> WHO PARENT NO NO_SORT
> A NULL 1 1
> B NULL 2 2
> C NULL 3 4
> B1.1.1 B 1 3
>
>
>
> >>
> Seperti contoh yg diberikan dibawah B.1.1.1 sebagai turunan dari B tentu
> saja akan berhenti di parent teratas (B). Kalau harus dilooping ke A dan
> C juga, nantinya record B.1.1.1 akan masuk ke group mana?A, B, atau C?
> Atau bisa di-share disini masalah yg muncul apa? Function-nya error a/
> output yg dihasilkan tidak sesuai yg diharapkan?
> Atau mungkin saya yg salah persepsi mengenai contoh kasus yg pertama
> kali di-posting mengenai masalah ini.
> >>
>
>
>
> On 4/23/07, Awaluddin Hamid <[EMAIL PROTECTED]> wrote:
> >
> > Logikanya gak gitu mas Dedy, function disini hanya memberi nilai
> > acuan,
> > sorting tetap dilakukan SQL melalui perintah ORDER BY berdasarkan nilai
> > acuan yg diberikan function.
> > Seperti contoh yg diberikan dibawah B.1.1.1 sebagai turunan dari B tentu
> >
> > saja akan berhenti di parent teratas (B). Kalau harus dilooping ke A dan
> >
> > C juga, nantinya record B.1.1.1 akan masuk ke group mana?A, B, atau C?
> > Atau bisa di-share disini masalah yg muncul apa? Function-nya error a/
> > output yg dihasilkan tidak sesuai yg diharapkan?
> > Atau mungkin saya yg salah persepsi mengenai contoh kasus yg pertama
> > kali di-posting mengenai masalah ini.
> >
> > Awal
> >
> > dedy afriyanto wrote:
> > >
> > > WHILE v_stat LOOP
> > > SELECT PARENT,NO INTO v_parent,v_no FROM KELUARGA WHERE WHO = t_who;
> > > t_no := v_no||n||t_no;
> > > IF v_parent IS NULL THEN
> > > v_stat := FALSE;
> > > END IF;
> > > t_who := v_parent;
> > > n := n + 1;
> > > END LOOP;
> > >
> > > sepertinya dibagian ini yang membuat menjadi tidak meloop semua
> > > >>IF v_parent IS NULL THEN
> > >
> > > kalau parentnya null itu kan wajar
> > > yang punya parent null juga ada dan lebih dari 1
> > >
> > > sehingga misal
> > > A parentnya null no 1
> > > B parentnya null no 2
> > > C parentnya null no 3
> > >
> > > nah kalau saya ambil anak cucunya B misal B.1.1.1
> > > dia ( fungsi tadi ) berhenti di B
> > > terus dia gak meloop ke A dan C..
> > >
> > > tapi trima kasih...
> >
> >
>
>
[Non-text portions of this message have been removed]