Stored Procedure Nedir?

İngilizce: Stored Procedure

Stored procedure, veritabanında saklanan ve parametreyle çağrılan SQL bloğudur; tekrarlanan işlemleri veri katmanında tutar.

Stored Procedure Nedir?

Stored procedure, veritabanı içinde saklanan ve uygulama tarafından adıyla çağrılan SQL komut bloğudur. Parametre alabilir, koşul ve döngü içerebilir, transaction başlatabilir ve sonuç kümesi döndürebilir. Böylece sık tekrarlanan veri işlemleri tek bir yerde tanımlanır.

Örneğin ay sonu komisyon hesaplama, sipariş kapatma, stok rezervasyonu veya rapor özet tablosu üretme işlemi stored procedure olarak yazılabilir. Uygulama aynı SQL adımlarını her yerde tekrar etmek yerine CALL veya benzeri bir komutla veritabanındaki prosedürü çalıştırır.

Avantaj ve Sınırlar

SQL işlemlerinin veriye yakın çalışması performans ve transaction tutarlılığı sağlayabilir. Ayrıca bazı kurumlarda veritabanı yetkileri prosedür üzerinden sınırlandırılarak uygulamanın doğrudan tablo erişimi azaltılır.

Diğer yandan stored procedure yoğun kullanıldığında iş mantığı uygulama kodu ile veritabanı arasında dağılabilir. Test, versiyonlama ve veritabanı değişikliği süreçleri net değilse bakım zorlaşır. ORM kullanan projelerde hangi kuralların uygulama katmanında, hangilerinin veritabanında kalacağı baştan kararlaştırılmalıdır.