Herkese merhaba,
Bu yazıda SQL Server’da stored prosedür ve fonksiyonlar arasındaki farktan bahsedeceğim.
Fonksiyonlar ise istenilen değer tipinde geri dönüş yapabilen sql kodlarıdır.
Arasındaki farklar ise aşağıdadır.
- Fonksiyonlar her zaman geriye bir değer döndürürler (Sayı, string ifade, tablo vs.) Stored prosedürler geriye bir değer döndürebilir ya da döndürmeyebilir.
- Fonksiyonlarda sadece giriş parametreleri vardır fakat stored prosedürlerde ise hem giriş hem de çıkış parametreleri vardır.
- Fonksiyonlar stored prosedürler tarafından çalıştırılabilir fakat stored prosedürler fonksiyonlar içerisinde çalıştırılamaz.
- Fonksiyonlar sadece Select ifadesi ile kullanılabilir. Fonksiyonlar ile CRUD işlemleri yapılmaz. Stored prosedürler ile CRUD (Create/Read/Update/Delete) işlemlerinin hepsini yapabilirsiniz.
- Fonksiyonlarda try-catch yapısını kullanamazsınız fakat stored prosedürler ile kullanabilirsiniz.
- Fonksiyonlar transaction yapısını desteklemez fakat stored prosedürler destekler.
- Fonksiyonlar PRINT ifadesi desteklemez. Stored prosedürler içerisinde PRINT ifadesi kullanılabilmektedir.
- Fonksiyon ile döndürülen sonuç kümesi JOIN işlemlerinde kullanılabilir. Stored prosedürler ile kullanılmaz.
- Fonksiyon içerisinde TABLE değişkeni kullanabilirsiniz. Fonksiyonlar TEMPORARY TABLE kullanımına izin verilmemektedir. Stored prosedür içerisinde TABLE değişkeni ve TEMPORARY TABLE kullanılabilir.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.