SQL Server Store Procedure İşlemleri(Saklı Yordam) Kullanımı | Store Procedure
Store prosedürler (SAKLI YORDAM) (SP) birçok programlama dilinde var olan fonksiyon yapılarına karşılık gelir.
Blok(lar) hâlindeki bir yığın SQL komutlarını bir prosedür içerisine yazıp daha sonra lazım olduğu yerde bu prosedürü çağırmak/çalıştırmak sureti ile tüm bahsi geçen kod bloğunu çalıştırmış oluruz.
SP’lerin bu yapısı, çok sık veya çeşitli yerlerde ihtiyaç duyduğumuz aynı kod bloğunu her lazım olduğunda tüm kod bloğunu yazmak yerine bir defa SP olarak tanımladıktan sonra, ihtiyaç anında sadece SP’ü çağırmak sureti ile kod yazımını daha kolay ve daha anlaşılır hâle getirebiliriz.
SP tanımı içinde yapacağımız değişiklik SP’ün kullanıldığı her yere yansıyacaktır, SP kullanmamış olsa idik aynı kod bloğunun kullanıldığı her yere ilgili değişikliğin tek tek yansıtılması gerekecekti.
SP’lerin oluşturulurken geçtiği aşamalar şu şekildedir:
Ayrıştırma (Parsing): Bu aşamada sentaks kontrolü yapılır. Yani yazılan ifadelerin SQL yazım standartları ve kurallarına uyup uymadığı, komut ifadelerinin doğru yazılıp yazılmadığı vs. kontrol edilir.
Veri tabanında bulunmayan bir tablodan select ile veri çekiliyor olması bu aşamada hata oluşturmaz ama “select” ifadesi yanlış yazılmış olursa (mesela “slect” şeklinde yazılmış olsa) hata oluşur.
Bu aşamada sorgu ağacı ya da sıra ağacı denen yapı ortaya çıkar.
Derleme (Compiling): Bir önceki aşamada oluşturulan sorgu ağacından çalışma planı çıkartılır, hak ve yetkiler kontrol edilerek güvenlik denetlenir.
Çalışma planı, hangi aşamada hangi kontrollerin, kısıtların (constraint) veya indekslerin kullanılacağı gibi tanımları içerir.
Çalıştırma (Executing): Bir önceki aşamada oluşturulan çalışma planı üzerinden işlemler gerçekleştirilir.
SP’ler ilk defa çalıştırılırken yukarıdaki aşamaların hepsinden geçilir, daha sonraki çağrılmalarında ise sadece üçüncü aşama olan çalıştırma (executing) aşaması gerçekleşir.
Çünkü derleme aşamasından sonra oluşan çalışma planı hafızada (RAM) saklanır ve (SP’ün sonraki kullanımlarında) yeniden oluşturulmasına gerek kalmaz.
Bu yüzden SP’ler aynı içeriğe sahip script (kod) bloğuna göre daha hızlı çalışır.
Bu durum SP kullanmanın en önemli avantajlarındandır.
Store Prosedur Oluşturmak
Store Prosedur Çalıştırma
Store Prosedurlerde Değişiklik Yapmak
Örnek
Store Prosedürlerde Parametre Kullanımı
Örnek
Girdi parametresi ile store prosedür çağırmak
Stored Procedurelarda Default veri kullanımı
Bazen gelen parametrenin zorunlu olmaması istenebilir.
Bu durumda SP’nin tanımı içinde ilgili parametreye varsayılan olarak bir değer atanır ve SP böyle çağrılırken bahsi geçen parametre yazılmadan çağırılırsa parametrenin varsayılan değeri üzerinden işlem görülür.
Örnek vermek gerekirse @Dili parametresi ile gelen Dili ID numarası değerine göre geri döndüreceği mesajın dilini ayarlayan bir SP’ümüz olduğunu, mesajların @Dili parametresi 1 olduğunda Türkçe, 2 olduğunda İngilizce ve 3 olduğunda Arapça olarak geri döndürüldüğünü ve @Dil parametresinin varsayılan değerinin 1 olduğunu varsayalım.
Bu durumda SP çağırılırken eğer dil parametresi belirtilmez ise SP sonuç mesajlarını Türkçe olarak döndürecektir.
Şimdi ise bir örnek ile bunu gösterelim:
Çıktı parametreleri ile çalışmak
Store Procedur’e gönderilen parametrenin içinin doldurularak çağrıldığı yere geri döndürülmesi şeklinde özetlenebilir.
SP tanımında geri döndürülecek olan parametre(ler), veri tipinden sonra ‘OUT’ ifadesi yazılarak çıktı parametresi olduğu belirtilir.
Örnek:
Store Procedure Return Deyimi
Return deyimi ile geriye sadece bir değer döndürülebilir.
İpucu: Birden fazla değerin geri döndürülmesine ihtiyaç varsa çıktı parametresi kullanılabilir
Hiç yorum yok
Yorum Gönder