MySQL ile yaptığımız projede veritabanı tarafında projeyi hızlı ve güvenli bir şekilde kullanmayı istiyorsak bu önlemlerden birisi de prosedür kullanmak olacaktır. Bu makalemizde veritabanı üzerine yapılan işlemlerde (select, update, delete, insert) "select" sorgusunu örneklerle sizlere aktarmaya çalışacağız.
İletişim adlı tablomuzu oluşturalım.

İletişim Tablosu

CREATE TABLE tblIletisim
(
iletisim_ID INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
ad_soyad VARCHAR(50),
e_posta VARCHAR(100),
mesaj VARCHAR(2000),
ip VARCHAR(20),
tarayici_bilgileri VARCHAR(1000),
eklenme_tarihi TIMESTAMP NOT NULL DEFAULT NOW(),
yayin_durumu TINYINT DEFAULT 0
)


Tablomuzun oluştuğuna dair görseli paylaşalım.
Tablo Oluştu



Tablo üzerinde deneyler gerçekleştirmek için içerisine veriler ekliyoruz.
Tablo Verileri



İletişim mesajları içerisinde ilgili mesajın tüm detaylarını çağırmak istiyoruz diyelim. Burada yaptığımız klasik "Select" sorgusunu prosedür içerisinde belirterek koşullarımıza uygun verileri her daim çağırmaya hazır bekletiyoruz.

Prosedür Oluşturuyoruz

CREATE PROCEDURE SP_Iletisim_Getir
(
IN intIletisim_ID INT,
IN intYayin_Durumu TINYINT
)
BEGIN
IF intYayin_Durumu = 0 THEN
SELECT * FROM tblIletisim WHERE iletisim_ID = intIletisim_ID AND yayin_durumu = 0;
END IF;
IF intYayin_Durumu = 1 THEN
SELECT * FROM tblIletisim WHERE iletisim_ID = intIletisim_ID AND yayin_durumu = 1;
END IF;
IF intYayin_Durumu = 2 THEN
SELECT * FROM tblIletisim WHERE iletisim_ID = intIletisim_ID;
END IF;
END


Prosedürümüz veritabanında oluşmuştur. Daha sonra bunu çağırarak verilerimizi listeleyelim.

Prosedür Oluştu



Prosedürü Çalıştıralım
CALL SP_Iletisim_Getir(2, 0)

Sonuç




Bol prosedürlü günlere

Kaynak: http://www.mikro.site/blog/sql/mysqlde-stored-procedure-kullanarak-select-secme-islemi-yapmak