sp'de ic ice döngü

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

sp'de ic ice döngü

Mesaj gönderen ikra »

Selamu aleykum...

Firebird veritabaninda SP ile ic ice döngü fikrine ihtiyacim var.

tablom su sekilde

Kod: Tümünü seç

id | parentid | isim
örnegin bir baba düsünelim. tablodaki veri su sekilde

Kod: Tümünü seç

1 | 0 | Ahmet
bu babaya ayit olan evlatlar var

Kod: Tümünü seç

2 | 1 | Ahmet oglu Mehmet
3 | 2 | Mehmet oglu Metin
4 | 2 | Mehmet oglu Hüseyin
5 | 1 | Ahmet oglu Ali
6 | 5 | Ali kizi  Zeynep
7 | 5 | Ali oglu Rasit
8 | 5 | Ali oglu Necmettin
örnegin mehmetin 2 cocugu alinin ise 3 cocugu var. kim kimin oglu ise, o verinin parentid'si babanin ID'sini aliyor.
verilerin sirasiz girildigini hesab edecek olur isek, bu verileri udf kullanmadan sp ile alt alta agac yapisi misali nasil listeleyebilirim?

simdiden tesekkür ederim. hakkinizi helal ediniz...
kıdemsiz üye
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: sp'de ic ice döngü

Mesaj gönderen emin_as »

Sp ile yapmak için aşagıdakine benzer bir yapı kurmalısın.
Yazım hatası olabilir, yazarken gözden geçirmende fayda var.

Kod: Tümünü seç

CREATE PROCEDURE LISTELE 
RETURNS(
  mID  INTEGER,
  mPARENTID INTEGER,
  mACIKLAMA  VARCHAR (200) )
AS
DECLARE VARIABLE parentAD   VARCHAR(100);
DECLARE VARIABLE mAD   VARCHAR(100);
BEGIN
  for 
    select distinct m.parentid, m.isim from person m
      into :mPARENTID, :parentAD 
     do 
     begin
         mACIKLAMA = '  Baba adı: ' || parentAD;
         mID = -1;  //  -1 olunca gelen bilgi  babadı     
         SUSPEND ; 
         for
            select d.id, d.isim  from person d where d.id = mPARENTID 
             into :mID,:mAD;
            do 
              begin
                 mACIKLAMA = parentAD || ' cocugu ' || mAD;
                SUSPEND;
              end
    end
END^
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: sp'de ic ice döngü

Mesaj gönderen ikra »

degeri öneriniz icin cok tesekkür ederim.
kıdemsiz üye
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: sp'de ic ice döngü

Mesaj gönderen ikra »

olmadi abicim. baba ve oglu gösteriyor.

ihtiyacim olan sey ayni treelist teki gibi, n tane alt alta agac yapisi kurmak.

bu babanin bir oglu oldugu gibi, oglunun da oglu hatta oglununda oglu olabilir.

silsile diyelim biz buna.
fakat verdigin örnekte yalnizca babayi ve babanin oglunu gösteriyor. oglunun ogullari kayip : ))

bulamadim hala cözümünü...
kıdemsiz üye
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: sp'de ic ice döngü

Mesaj gönderen aslangeri »

s.a.
amacın veri tabanından kayıtları sıralı bir şekilde çekmek mi, yoksa veritabanındaki kayıtları tree de uygun şekilde göstermekmi?
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla