Bu yazımda MySql veritabanı ile stored procedure oluşturmayı ve kullanmayı göreceğiz. Bir önceki yazımda MySql ile fonksyion tanımlamayı ve kullanmayı görmüştük. Şimdi ise stored procedure oluşturmayı ve kullanmayı göreceğiz. Bu işlem bizlere programlama tarafında daha az kodlama yapmamızı, fonksiyonel çalışmamızı sağlıyor. Ayrıca yapacağımız işlemleri birçok farklı yol ile yapma fırsatı buluyoruz.
Bu uygulamada da bir önceki veritabanını ve verileri kullanacağım. Aşağıda verileri ve elde edeceğimiz sonuc görebiliriz.
Gördüğümüz gibi verilerimiz ve stored procedure ile elde edeceğimiz sonuç böyle. Bu uygulama ile programlama tarafında daha az kodlama yapıyoruz.
MySql'de stored procedure oluşturmak için şu şekilde bir kodlama yapmalıyız.
CREATE DEFINER=`root`@`localhost` PROCEDURE `meslek_getir`()
BEGIN
select kisiler.isim_soyisim,meslekler.meslek from kisiler left join meslekler on kisiler.meslek_id=meslekler.meslek_id;
END
Asp.net ve C Sharp ile stored procedure kullanmak için ise aşağıdaki gibi bir kodlama yapabiliriz.
bg = new MySqlConnection("server=localhost; user=root; password=root; database=deneme; charset=latin5");
// veritabanında oluşturduğumuz stored procedure çağırımı
MySqlDataAdapter adaptor = new MySqlDataAdapter("call meslek_getir()", bg);
DataTable tablo = new DataTable();
adaptor.Fill(tablo);
GridView1.DataSource = tablo;
GridView1.DataBind();
Bunun dışında önceki yazımda anlatmış olduğum fonksiyon ile beraber stored procedure kullanabiliriz. Böylece stored procedure ile fonksiyonlarımızı da kullanabiliriz. Böylece daha az iş daha az kodlama yapıp, performans kazanabiliriz.
Fonksiyon ve stored procedure beraber kullanmak için ise fonksiyonumuz şu şekilde olmalı:
CREATE DEFINER=`root`@`localhost` FUNCTION `meslek_getir`(meslek_no INTEGER) RETURNS varchar(75) CHARSET latin5
BEGIN
return (select `meslek` from `meslekler` where `meslek_id`=`meslek_no`);
END
Fonksiyon ile oluşturacağımız stored prcedure ise şu şekilde olmalı:
CREATE DEFINER=`root`@`localhost` PROCEDURE `meslek_getir`()
BEGIN
select isim_soyisim as Ad_Soyad, meslek_getir(meslek_id) as Meslek from kisiler;
END
Fonksiyon ile beraber oluşturduğumuz stored procedure ise yukarıda kullandığımız asp.net ve c sharp kodlarımız ile kullanabiliriz.
Böylece mysql kullandığımız projelerimizde fonksiyon ve stored procedure kullanabiliriz.
İyi Çalışmalar!