Bu yazımda MySQL Stored Procedure üzerinde IF koşul deyiminin kullanımını ve örnek uygulamasını paylaşacağım.
Öncelikli olarak SQL üzerinde IF nasıl kullanılıyor ona bakalım :
1 2 3 |
IF "Koşul" THEN "Yapılcak İşlem"; END IF; |
Şimdi örnek işlemimize gelelim,
Yapmak istediğim aşağıda detayı bulunan tablodaki müşteri puan (Musteri_Puan) alanı 1000 puan’dan fazla ise bize “vip müşteri” şeklinde string sonuç döndüren bir prosedür yazmak.
Tablomuz :
-Musteriler
–Musteri_Id
–Musteri_Adi
–Musteri_Puan
Prosedürümüz :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
CREATE PROCEDURE IFKosulKullanimi( IN _MusteriID INT, OUT _GosterilcekDeger VARCHAR(20)) BEGIN DECLARE MusteriPuan INT(11) DEFAULT 0; SELECT Musteri_Puan INTO MusteriPuan FROM Musteriler WHERE Musteri_Id = _MusteriID; IF MusteriPuan > 1000 THEN SET _GosterilecekDeger = 'VIP'; END IF; END |
Eğer müşterinin puanı 1000’den büyük ise prosedür bize “VIP” değerini döndürecektir.