Sql Server İpuçları ~1 SQL Server’da Fonksiyon ve Prosedür arasındaki farklar nelerdir?

Merhaba,

Bu yazımla beraber yeni bir seriye başlıyorum. Sql server için yaklaşık 50 maddeden oluşan bir seri ipuçları yazmayı düşünüyorum. Zamana yayarak bu seriyi tamamlamaya çalışacağım. Sql Server’da çeşitli ihtiyaçlara binaen kullandığımız Store Procedured ve fonksiyonların farklarına değinmeye çalıştım.

Fonksiyon için,

  • Fonksiyon bir değer döndürmek zorundadır.
  • Fonksiyon sadece Select kullanımına izin verir, DML işlemleri kullanılamaz.
  • Hata fırlatma ve İstisnalar için Try Catch ifadeleri kullanılamaz.
  • Transcation’lar kullanılamaz.
  • Sadece Tablo değerlerleri kullanılabilir, Temporary tablolar kullanılamazlar.
  • Store Procedure’lar fonksiyonlarda kullanılamazlar.
  • Fonksiyon içerisinde SELECT-WHERE-HAVING kullanılabilirler.
  • Kullanıcı Tanımlı Fonksiyonlar (User Defined Functions) kullanılabilirler.

Stored Procedure için,

  • Stored Procedure değer döndürebilir veya döndürmez, herhangi bir zorunluluk yoktur
  • Select kullanımı yanında DML işlemleri de Stored Procedure içerisinde kullanılabilir.
  • Hata fırlatma ve İstisnalar için Try Catch ifadeleri kullanılabilir.
  • Transcation’lar kullanılabilir.
  • Tablo değerlerleri ve Temporary tablo olarak iki yapıda kullanılabilir.
  • Fonksiyonlar Stored Procedure yapısı içerisinde kullanılabilir.
  • Stored Procedure içerisinde SELECT-WHERE-HAVING kullanılamazlar.
  • Kullanıcı Tanımlı Fonksiyonlar (User Defined Functions) kullanılamazlar.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir