Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Bir Stored Procedure'den Result Set Döndürmek
#11
(21-10-2019, Saat: 17:22)delphim Adlı Kullanıcıdan Alıntı: @serdar:

Konunun başlığında "Bir Stored Procedure'den Result Set Döndürmek" yazıyor.

"Bu cursor kullanarak  recordset dondurme. @Tuğrul HELVACI hoca basit bir select ifadesiyle recordset dödürme sormuş"  demek çok manidar bir yaklaşım olmuş. Oracle'da cursor basitçe bir query'nin resut setidir. Verdiğim linkde stored prodecure'den query'nin sonucunun nasıl döndürüleceği "Using Ref Cursors To Return Recordsets" başlığı altında güzel bir örnek ile açıklanmakta.

Oracle'da Cursor'ın Ref Cursors'ın ne olduğunu bilmemek ayıp değil ama, biliyormuş gibi örnekli anlatım içeren sayfanın linkini buraya koydum diye bana laf sokmak gayretinde bulunmak ayıp.


@Tuğrul HELVACI

İnsan bilmediği konularda bilen insalara göre "zır cahil" olarak görülebilecek sorular sorabilir. Bu da gayet anlaşılabilir bir durum olarak karşalanabilir. Sorunuzu "zır cahil" olarak tanımladığım için bu yorumu yapmıyorum, sizin ifadenize istinaden bu sorudan bağımsız bu yorumu yapıyorum.

Kimse muhtemelen ilk kez kullanacağı Oracle ya da başka bir RDBMS'in onbinlerce sayfa dökümanı okumakla uğraşmaz, uğraşmamalı da. Verdiğim linkde stored procedure'den bir SQL'in sonucunu resultset (ya da recordset, ikisi de aynı anlama gelir) olarak döndürmenin örneği mevcut. Oracle'da böyle bir kulanım mümkün. MS SQL Server'da daha kolay bir kullanım söz konusu olabilir, Oracle'da malesef ki böyle. Sizin istediğiniz gibi kullanım, kolaylık Oracle'da yok diye bunun suçlusu ben olamam heralde. Kullanım şeklinin örnekle açıklandığı sayfanın linkini iyi niyetimle paylaştığım için sizden özür dilememi mi bekliyor sunuz? Ya da sizin bektiğiniz dökümanları, sayfaları bilmemimi bekliyorsunuz. Üzgünüm ama ben medyum değilim. Sorunuz gayet net, makul, sorulabilir bir soru, sorunun cevabının açık ve anlaşılır şekilde olduğu sayfanın linki de benim cevabımda mevcut.

@Aktolgali

Linkini verdiğim sayfadaki örnek çalışan bir örnek. Tuğrul Bey'in SQL'ine göre çalışan şekle sokmak için uğraşmak ya Tuğrul Bey'e "sen beceremezsin, al şöyle yap" der gibi saygısızlık etmek olur, ya da "abi sen uğraşma ben senin için hallettim" der gibi yalakalık yapmak olur. Sizlerin tercihine tabiki saygım var ama iki açıdan da yaklaşmak benim tercihim değil.

@Genel

Nasıl bu konuyu buralara getirebildiğinizi anlayamıyorum. Bir query'nin sonucunu bir stored procedure'dan alabilmenin yolu verdiğim linkde var, gayet açık ve anlaşılır şekilde de anlatılıyor. Verdiğiniz tepkileri gerçekten anlayamıyorum. Bir yorum da yapmadım, cevapta tüm iyi niyetimle çözümün olduğu linki paylaştım sadece.

Olurya ben bilmiyorumdur, yanlış anlamışımdır, kafam basmamıştır, insanım sonuçta. 25+ yıldır Oracle kullanıyorum ama Oracle'da da bilmediğim, kullanmadığım çok şey var. "Tuğrul Bey'in sorusu aslında şu, cevabı da Oracle'da şöyledir, ya da şuradadır" diyin. Sonra bu yorumlarınızı yapın, ben de sizden özür dileyeyim, sayenizde ben de birşey öğrendim diye sevineyim. Ordada doğru ya da yanlış benim ilettiğim çözüm dışında çözüm sunan kimseyi görmedim. Ama soruyu soranda yorum yapan diğerleri de bana saldırıyorsunuz.

Ben sizdeki bu alınganlığı anlayamadım ve anlamlandıramadım açıkçası.

Bakın ne yazmışım:

Alıntı:Yine garip gelebilecek bir soru ile karşınızdayım. Oracle'da bir stored procedure'den basitçe bir result set dönmenin yolu hususunda bilgilerinizi paylaşabilir misiniz ?

Siz ise hiç bir açıklama yapmadan; direkt link'i paylaşmışsınız. Buna da eyvallah, verdiğim yanıta bakalım:

Alıntı:O kısımlara baktım güzel arkadaşım. Dökümantasyonu okumadan; tamamen zır cahil olarak soru sormam genellikle.

Çalışan bir örnek paylaşabilir misiniz rica etsem.

Peki burada ne demek istemişim ? Yani, araştırmadan; alternatifleri görmeden, hemen soru sormam; beni tanıyanlar bunu zaten bilir; tanımayanlar için de öyle bir şey yapmadığımı ifade etmişim. Yani; sizin verdiğiniz link'teki REF CURSOR meselesini biliyorum. Zaten küçücük bir araştırma ile o bilgiye erişememek yeteneksizlik olurdu.

Örnek paylaşmanızı istemem, bu çözüme içimin sinmemesinden ve belki de bilmediğim bir yolun olabilme ihtimalinden. Yoksa, REF CURSOR'ları kullanarak bir result set üretmeye çalışmak; en iyimser ifade ile hiç de basit bir yol değil.

  Oracle bilmediğim için, bilen arkadaşların tecrübelerinden istifade etmek istemiş ve kesin bir yanıt elde etmek istemiştim. Örneğin; "maalesef bu tarz bir iş SQL Server'daki gibi basitçe halledilemiyor. Mecburen cursor kullanmak gerekiyor." gibi bir yanıt; teşekkür edip konuyu kapatmama neden olurdu.

Lâkin siz direkt bana yönelik olarak ne yazmışsınız:


Alıntı:Kimse muhtemelen ilk kez kullanacağı Oracle ya da başka bir RDBMS'in onbinlerce sayfa dökümanı okumakla uğraşmaz, uğraşmamalı da. Verdiğim linkde stored procedure'den bir SQL'in sonucunu resultset (ya da recordset, ikisi de aynı anlama gelir) olarak döndürmenin örneği mevcut. Oracle'da böyle bir kulanım mümkün. MS SQL Server'da daha kolay bir kullanım söz konusu olabilir, Oracle'da malesef ki böyle. Sizin istediğiniz gibi kullanım, kolaylık Oracle'da yok diye bunun suçlusu ben olamam heralde. Kullanım şeklinin örnekle açıklandığı sayfanın linkini iyi niyetimle paylaştığım için sizden özür dilememi mi bekliyor sunuz? Ya da sizin bektiğiniz dökümanları, sayfaları bilmemimi bekliyorsunuz. Üzgünüm ama ben medyum değilim. Sorunuz gayet net, makul, sorulabilir bir soru, sorunun cevabının açık ve anlaşılır şekilde olduğu sayfanın linki de benim cevabımda mevcut.

Benim sizin böyle anlamanıza yol açacak ne yaptığımı da izah edebilirseniz sevinirim. Aksi durumda bunu bir süper alınganlık olarak değerlendirmek durumunda kalacağım.

Ayrıca, son cümlenizde herkese ithafen bir cevap yazmışsınız:


Alıntı:Olurya ben bilmiyorumdur, yanlış anlamışımdır, kafam basmamıştır, insanım sonuçta. 25+ yıldır Oracle kullanıyorum ama Oracle'da da bilmediğim, kullanmadığım çok şey var. "Tuğrul Bey'in sorusu aslında şu, cevabı da Oracle'da şöyledir, ya da şuradadır" diyin. Sonra bu yorumlarınızı yapın, ben de sizden özür dileyeyim, sayenizde ben de birşey öğrendim diye sevineyim. Ordada doğru ya da yanlış benim ilettiğim çözüm dışında çözüm sunan kimseyi görmedim. Ama soruyu soranda yorum yapan diğerleri de bana saldırıyorsunuz.

Anlaşılan siz hayatınızda saldırı nedir görmediniz ! Bu sizinki bir iftiradır. Size nerede, nasıl saldırmışım ? Ayrıca neden saldırayım, sizinle bir alıp veremediğim mi var ?

Herneyse; Oracle & Microsoft Sql Server ya da diğerleri bizim babamızın veritabanları değil; arada bir eleştirileri de anlayışla, hoşgörü ile ve objektif olarak karşılayabilmek de gerekir.

Oracle'da basit bir SELECT yapmanın yolu bizlere verdiğiniz link'teki gibi ise, bunun başka bir yolu yok ise; kimse kusura bakmasın ama bu açıkçası hiç de kolay bir yol/yöntem değil.

Umarım benim ne demek istediğimi ve neyi demediğimi şimdi daha iyi anlamışsınızdır.

Fanatizm'in her türlüsü kötüdür. Herkes için fanatizm zararlıdır.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Stored Procedure Nasıl Olmalı!!! 3ddark 8 7.174 22-12-2019, Saat: 15:08
Son Yorum: loribnaczo



Konuyu Okuyanlar: 1 Ziyaretçi