İ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