wmaraci reklam

Oracle START WITH - CONNECT BY Kullanımı Nasıldır ?

4 Mesajlar 1.695 Okunma
pst.net
wmaraci reklam

Referee Referee Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.10.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad Ö** A**
  • Mesajlar 504
  • Beğeniler 20 / 127
  • Ticaret 44, (%98)
Merhaba, elimde 1 tablo(kayitlar) ve 4 adet sütun var. (Oracle/Plsql)
id, deger, kod, üst_id

Şöylede örnek kayıtlar var.
1, 'abc', '1', '0'
2, 'abc', '2', '1',
3, 'abc', '3', '1',
4, 'abc', '4', '3'

Bu verilerden bir tree list oluşturacağım.

Oluşturduğum sorgu :
select * from kayitlar t where t.deger='abc' START WITH t.ust_id is null or t.ust_id='0' CONNECT BY PRIOR t.kod = t.ust_id

Herhangi bir hata almasamda herhangi bir sonuçta dönmüyor. Sonsuz bir döngüye girmiş gibi bilgisayar can çekişmeye başlıyor.

Nerede hata yapıyor olabilirim ? Ya da alternatif bir çözüm sunabilecek birileri var mıdır ? Şimdiden çok teşekkürler.
 

 

wmaraci
reklam

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
select lpad(' ',2*(level-1)) || to_char(t.kod) s from deneme t where t.deger='abc' START WITH t.ust_id='0' CONNECT BY PRIOR t.kod = t.ust_id


ref : http://renenyffenegger.ch/notes/development/databases/Oracle/SQL/select/hierarchical-queries/start-with_connect-by/recursive-additions
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

Referee Referee Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.10.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad Ö** A**
  • Mesajlar 504
  • Beğeniler 20 / 127
  • Ticaret 44, (%98)
YazılımMimarı teşekkürler. Ancak "Connect by loop in user data" hatası alıyorum. Birşekilde çözüm buldum ama mantıksız olduğu için paylaşmıyorum.Yine de teşekkürler.
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)

Referee adlı üyeden alıntı

YazılımMimarı teşekkürler. Ancak "Connect by loop in user data" hatası alıyorum. Birşekilde çözüm buldum ama mantıksız olduğu için paylaşmıyorum.Yine de teşekkürler.


online bir oracle database'de aynı verilerle query'i çalıştırdım, bir sıkıntı çıkmadı, tree olarak listeledi.

Img : https://ibb.co/eJPe5c
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)
wmaraci
Mersin evden eve nakliyat
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al