Mssql Server Store Procedure Nedir , Nasil Kullanilir / Ders 8
Bu video çekimimde ve makalemde Sql Server'da Store Procedure kavrami nedir , faydalari nedir ve nasil kullanilir konularina deginecegim.
Store Procedure , bir nevi method veya fonksiyon gibi düsünebilirsiniz.Bir yazilim dilinde bir method(fonksiyon) yazarsiniz daha sonra fonksiyonu kullanmak istediginiz yerde yalnizca fonksiyonu yazarsiniz , parametresi varsa parametrelerini verirsiniz fonksiyon çalisir , eger geriye deger döndürüyorsa döndürür iste Store Procedure'de Sql dilinde yazilan fonksiyon gibi düsünebilirsiniz.
Bir çok avantaji vardir kendi açimdan en büyük avantaji Asp.Net'te web projeleri yaparken Veritabanina baglanirken bir sorgu cümlemiz olur.
SqlCommand sorgu=new SqlCommand("Select * from Uyeler",con); deriz burada sayfamizin arka planinda sorgu gözüktügünden sayfa güvenligi açisinda güvensiz bir durumdur bir hata çiktiginda kod blogu gözükecek tablomuzun adi gözükecektir. Fakat ben Sql Server'da bir Store Procedure yazsam ve bu store procedure adini kullansam asagidaki gibi kullanilirdi
SqlCommand sorgu=new SqlCommand("UyeGetir",con);
sorgu.CommandType=CommandtType.StoreProcedure;;
Bu yazim web projeniz için güvenlik açisindan daha iyi olmus olacaktir. Ayni zamanda 2.avantaji ise hiz avantaji olmus olur.Sorgumuz Sql Server'da bulundugundan Sql Server'da çalisacak ve sonuç gelecektir.Fakat Store Procedure kullanilmasaydi sorguyu kod tarafindan kopyalayip Sql Server'a götürüp çalistirip tekrar geri getirecekti.Bu hiz farki milisaniyeler cinsinden fark olustursa da fazla sayida veri bulunan veya çok fazla kullanicinin ziyaret ettigi sitelerde sunucu performansi açisinda zaman farki daha da belirgin bir biçimde ortaya çikacaktir.
Simdi Store Procedure Yazim Formatini Anlatayim
CREATE PROCEDURE Prosedür_Adi
Varsa_Parametreler_Buraya_Yazilir
AS
BEGIN
Sorgu_Buraya_Yazilir
END
Bir UyeEkleme örnegi yazalim
CREATE PROCEDURE UyeEkle
@Ad nvarchar(100) ,
@Soyad nvarchar(50)
AS
BEGIN
INSERT INTO Uyeler (Ad , Soyad) VALUES (@Ad,@Soyad )
END
Store Procedure Yazarken Dikkat Edilmesi Gereken Yerler
1- Parametreler @Ad nvarchar(100) , @Soyad nvarchar(50) yazilirken her parametre basina @ karakteri konulur .
2 -Her parametrenin veri tipi belirtilir , birden çok parametre var ise virgül(,) ile ayrilarak yazilir , en son parametreden sonra virgül(,) birakilmaz.
3-Tek bir parametre varsa da virgül(,) sonuna virgül birakilmaz.
Sql Serverda Yazilan Procedure'dan bir resim ilege gösteriyim
Anlattiklarimin video ile örnek uygulamasi
Iyi Çalismalar Arkadaslar
COMMENTS