mehmetduran.com - Paylaşmak Güzeldir...
MySql'de Stored Procedure Tanımlama ve Kullanma
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.

MySql'de Stored Procedure Tanımlama ve Kullanma

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!
Mehmet Duran 24 Aralık Çarşamba 2008 8 17921 3,0
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar İnner Join ile Tabloları Bağlama Ternary Operatör Kullanımı (koşul ? doğru : yanlış) C Sharp'ta Split Metodu Kullanımı Asp ile Sayfa İnclude İşlemleri Sql'de Datetime Alanından Yılı ve Ayı Belirleme Fonksiyonu
Yorumlar
Yorum Yaz
RSS Yorum Takibi
Özgür 31 Aralık Çarşamba 2008 14:57 #1
Galibam view ve diagram olayı MySQL`de 5. versiyondan sonra mümkün... bende 5. sürüm var ama view ve diagram oluşturamıyorum :) Çok ilginç... SQL Server`dan kalma alışkanlık işte. olmazsa olmuyor sanki...
anonymous 19 Mart Perşembe 2009 16:53 #2
bu fonksiyonları nereye yazacağımızı anlayamadım.Açıklarsanız sevinirim.
Mehmet Duran 19 Mart Perşembe 2009 23:29 #3
Fonksiyonları mysql içinde tanımlıyoruz. Tanımlamak için de mysql için kullandığınız editörün sql command bölümünü (sorguları çalıştırdığımız bölümü) kullanabiliyoruz.
iemre 30 Haziran Salı 2009 11:38 #4
bu nasıl bi anlatım böyle.Hiç birşey anlamadım.İnsan biraz açıklayıcı olur.Yinede teşekkür ederim ama böyle hiç bilmeyen bir insana anlatıyor gibi anlatmazsanız kafa karıştırmaktan başka bişeye yaramaz çabanız.
Mehmet Duran 30 Haziran Salı 2009 23:30 #5
Merhaba iemre. Anlattıklarımın gayet anlaşılır olduğunu düşünüyorum. Hiçbirşey bilmeyen insan zaten bu gibi birşeyi yapamaz veya konuyu bilmez. Eğer böyle birşeye bakıyorsa muhakkak birşeyler biliyordur ve bu bildiklerinin yazımdakileri anlamaya yeteceğini düşünüyorum.
Turgut 15 Ocak Cuma 2010 10:57 #6
Bence gayet açık ve net bir anlatım olmuş. Çok işime yaradı teşekkür ederim.
pycihan 31 Ekim Pazar 2010 15:25 #7
cok yararli ve oldukca aciklayici guzel bir anlatim tam aradigim gibi boylesine yararli bir bilgi icin cok tesekkurler
Hüseyin Küçük 07 Mart Pazartesi 2011 02:49 #8
Emre Bey. Gayet güzel ve aydınlatıcı bir yazı olmuş. Ellerinize sağlık.
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Başarısızlıklarınız ile soylu bir şekilde yüzleşin, başarıdan farkı kalmayacaktır.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009