Selam,
Arkadaşlar bir stok grup tablom var bir de gruplarin altinda detail stok kart tablolarim...Ve ben SELECT işlemini stored procedure ile yapiyorum.. yani direk delphiden SELECT * FROM ........... kullanmiyorum onun yerine stored procedure den cagiriyorum select işlemini (inşallah yanlış bir yol izlemiyorumdur? Sağolsun Kuri abi (adnan abiye selamlar:p) stored procedure'ü öğretti görmemişin stored procedure'ü olmuş tutmuş herşeyde onu kullanmış hesabı herşeyde kullanıyorum:)
Örnek bir Grup Kodu
01
Örnek bir Detail stok kart kodu
001
Ama tabi stok karti kaydederken, 01.001 şeklinde gözüküyor yani aslinda veritabanına 001 diye işliyor ama ben sadece 001 kismini kaydettiriyorum.. Her stok kaydında hangi gruba bağlı olduğu grubun primary key'inle belirleniyor ve de ben stored procedure ile select işlemlerini yaparken...
declare @gorunecekkod varchar(6)
diye bir değişken tanimlayip,
bu @gorunecekkod degişkenine, LEFT OUTER JOIN ile çektiğim GRUPKODUNU
SET @gorunecekkod = GRUPTABLE.GRUPKODU + '.' + STOKTABLE.STOKKODU
şeklinde yapip, select işleminde bu @gorunecek kodu da bir field mi$ gibi göstermek istiyorum...
Beceremedim bir türlü, yardimci olursaniz cok sevinirim..
Eğer sorumla ilgili herhangi bir anlaşılmayan nokta olursa tekrar açıklayabilirim.
Herkese kolay gelsin
MSSQL Stored Procedure ile ilgili, işin icinden cikamadim
Bu arada bir not düşmek istedim,
Detail tabloda, ana tablonun yani stok grubunun kodu tutulmuyor. Sadece kayit numarasi yani ID 'si tutuluyor... Yani oyle bir$ey olmasi gerek ki, ID den kodunu bulucak, ve Gorunen kod degi$kenine (bu arada degi$kene gerek olmayabilir ben sadece söyliyim dedim) ANAGRUPKODU + '.' + STOKKARTKODU $eklinde atayip, her kayit icin onu göstericek yani bildiigmiz select i$lemini yapip ekstradan bir alan olaraktan da o kodu ekliyecek..
Tekrar tekrar te$ekkür edeirm
Detail tabloda, ana tablonun yani stok grubunun kodu tutulmuyor. Sadece kayit numarasi yani ID 'si tutuluyor... Yani oyle bir$ey olmasi gerek ki, ID den kodunu bulucak, ve Gorunen kod degi$kenine (bu arada degi$kene gerek olmayabilir ben sadece söyliyim dedim) ANAGRUPKODU + '.' + STOKKARTKODU $eklinde atayip, her kayit icin onu göstericek yani bildiigmiz select i$lemini yapip ekstradan bir alan olaraktan da o kodu ekliyecek..
Tekrar tekrar te$ekkür edeirm
Tek bir select ile yapabileceğiniz bir işlemde neden stored procedure kullanma ihtiyacı hissettiğinizi anlayamadım. Sanırım şuna benzer bir kod işinizi görecektir:
Not: Delphi ile alakalı olmayan sql sorularınızı lütfen veritabanı forumuna sorunuz
Kod: Tümünü seç
SELECT MASTER.ANAGRUPKODU + '.' + DETAIL.STOKKARTKODU
FROM DETAIL LEFT JOIN MASTER ON DETAIL.MASTERID=MASTER.ID
Not: Delphi ile alakalı olmayan sql sorularınızı lütfen veritabanı forumuna sorunuz

Yani $öyle diyim tablolarin bazilari ayni ama yaklasik olarak 10 tane farkli field var tek bir tablodan bilgi okuyor her seferinde farkliymis gibi yapiyor vs. yani sadece islem bu kadar basit bir secme islemi degil..i$lemlerde ayrinti var bayagi.. yanlismi yapiyorum sizce yani stored procedure ile ne olursa olsun birakin detayli selectleri isterse en ufak bir select islemini yapmak bile zarar verirmi? Tesekkürler tekrardan.. bu arada ufak bir sorun olustu o sorunu halleder halletmez deniyecegim verdiginiz kodu.. tesekkürler tekrar tekrar..naile yazdı:Tek bir select ile yapabileceğiniz bir işlemde neden stored procedure kullanma ihtiyacı hissettiğinizi anlayamadım. Sanırım şuna benzer bir kod işinizi görecektir:
Kod: Tümünü seç
SELECT MASTER.ANAGRUPKODU + '.' + DETAIL.STOKKARTKODU FROM DETAIL LEFT JOIN MASTER ON DETAIL.MASTERID=MASTER.ID
Not: Delphi ile alakalı olmayan sql sorularınızı lütfen veritabanı forumuna sorunuz
kolay gelsin
Hayır zararı olacağından değil de çok gerekli olmayacağından öyle söyledim. Her select ifademiz için bir stored procedure yazmaya kalkarsak ortalık stored procedure den geçilmez olur. Eğer mesela birden fazla tablodan değişik alanlar almak ve bunu da çok yerde kullanmak istiyorsanız stored procedure yerine view daha sağlıklı olur. Her şeyi her yerde kullanmamız doğru olmaz, hepsinin kullanılacağı yerler var. Önemli olan ihtiyacınıza en uygun olanını kullanmanız.
Kolay gelsin.
Kolay gelsin.