Stored procedureler parametre alan yada parametresiz türden olabilir. Aynı zamanda değer de geri döndürebilir. Stored procedureler kısaca sp olarak da adlandırılırlar. Büyük uygulamalarımızıda kolaylık sağlar. Sp yazımında for , while ,if gibi komutlar da kullanılabilir. Bir kez yazılıp çalıştırılması yeterli olduğundan hızlı çalışırlar. Sp ler aynı zamanda değişiklik yapmaya elverişli olduğundan modülerlik de sağlanamaktadır.
Yeni bir stored procure yatamak için CREATE PROCEDURE deyimi kullanılmaktadır.Var olan bir procedure ü düzenlenmek için ise ALTER PROCEDURE , bir procedure ü silmek için ise DROP PROCEDURE kullanılmaktadır.
SQL Server ' da stored procedure oluşturma :
Ogr_Tbl isminde örnek bir tablo oluşturuldu.
Stored procdure oluşturmak için ;
Parametresiz ve tablodaki kayıtları getiren basit bir stored procedure oluşturalım.
Bu şekilde yazdığımız stored procedure ü çalıştırmak için Execute düğmesine basılır.
Böylece stored procedure çalıştırılmıs olunur.
Parametreli ve Id ye göre listeleyen bir stored procedure yazarsak ;
Varolan listele procedure ünü değiştirmek için Create Procedure deyimi şu şekilde kullanılır :
Şimdi parametre alan ve parametresi olmayan stored procedure ler hazırlayalım ve bunu c# ta kullanalım.
Yeni bir veri tabanı oluşturalım ve RehberTbl adında şekildeki gibi bir table ekleyelim.
Visual Studio ortamında bir form application açalım. Formumuza bir datagridview elemanı , textboxlar ve buton ekleyelim.
Formumuzun loadında gridview da veritabanından çekilne veriler listenirken , girilen ad, numara ve email için de veri tabanına ekleme yapacak stored procedurelerimiz yazalım.
listeleme yapan sp_Listele sp si ;
Ekleme yapan sp_ekle sp si ;
Ekleme yapan sp_ekle parametreli bir proceduredür. Dışarıdan ad ,telefon ve maili parametre olarak alıp kaydetme işlemini yapar. C# kısmında bu parametreleri gönderebilmemiz için parametreleri belirtmemiz gerekmektedir. Command nesnemizin tipinin stored produre olduğunu belirttik. Daha sonra CommandText için stored procedure müzün ismi olan "sp_ekle" procedure ü yazıldı. Command nesnesinin parametreleri tipleri ile birlikte eklendikten sonra , parametreyi textboxtan alacağı belirtildi.Herhangi bir geri dönüş olmayacağından ExecuteNonQuery ile çalıştırıldı.
4 yorum:
güzel bilgiydi teşekkürler
tşk
Valla takılmadan anladım Teşekkürler...
Çok teşekkür ederim işime gerçekten yaradı
Yorum Gönder