SQL ile Stored Procedure Kullanımı

Stored Procedure tabloya bağlı olmaksızın veritabanına kaydedebileceğiniz sql sorgularıdır. Klasik programlamada sql sorgularınızı programınızın içinde kodlarınızın olduğu bloklara da yazabilirsiniz. Fakat stored procedure kullanarak bu sql sorgularını veritabanına kaydedip, kodlarınızın içinden tıpkı yazdığınız bir metodu çağırır gibi çağırıp kullanabilirsiniz. Stored procedure kullanımının en büyük avantajı programın çalışma hızının yüksek olmasıdır. Bunun sebebi  stored procedurelerin server üzerinde çalışmasıdır. Yani yazdığınız stored procedureleriniz programın ilk çalışmasında derlenir ve sonrasında tekrar tekrar derlenmez. Bu da programınıza hız kazandırır. Ayırca stored procedureler veritabanı dışından yani kod bloklarınızdan çağrılabildiği gibi, veritabanındaki triggerlarınız tarafından da çağrılabilmektedir.

Aşağıda bir örnekle stored procedure kullanımını göstermeye çalıştım. Öncelikle Microsoft SQL Server 2008 Management Studio’da veritabanında oluşturduğum tablo şu şekildedir:

  Bu tabloya yeni kayıt eklemek için şu şekilde bir stored procedure yazabiliriz:
 Bu stored procedure ü kaydedip çalıştırmayı deneyelim. Server üzerinde stored procedure e sağ tıklayıp Execute Stored Procedure dediğimzde aşağıdaki alanı görürüz.
 Execute edince çıkan ekranda value kolonuna değerleri girip çalıştırdığımızda Musteri tablosuna girilen değerler artık eklenmiş olmaktadır.

Benzer şekilde stored procedurelere select, update ve delete sorguları da yazabilirsiniz. Parametreli ya da parametresiz olarak yazdığınız tüm sorgularınızı stored procedureleriniz aracılığıyla çalıştırabilirsiniz.