En Yüksek (Maksimum) Değere Sahip Kayıtları Veren Saklı Yordam (Stored Procedure)

en-yuksek-maksimum-degere-sahip-kayitlari-veren-sakli-yordam-stored-procedure (büyük resim için tıklayın)

Veritabanında envanter, envanterin bağlı olduğu tabmenu, tabmenunun bağlı olduğu kurumsal tabloları bulunsun ve belirli bir kurumsalın en yüksek değere sahip 5 adet kaydın envanter adı,menü adı ve fiyat bilgisinin saklı yordam (stored procedure) ile getirilmesi istensin. Bunun için saklı yordam aşağıdaki gibi oluşturulmuştur.

  • DELIMITER $$
  • CREATE PROCEDURE sp_max5envanter(pid INT)
  • BEGIN
  • DECLARE kurumsalid INT;
  • SET kurumsalid=(SELECT id from kurumsal where id=pid);
  • IF kurumsalid IS NOT NULL
  • THEN
  • SELECT tabMenu.ad menuad,envanter.ad,envanter.fiyat
  • FROM envanter,kurumsal,tabMenu
  • WHERE kurumsal.id=tabMenu.kurumsal_id AND
  • envanter.tabMenu_id=tabMenu.id AND
  • kurumsal.id=kurumsalid
  • ORDER BY envanter.fiyat DESC
  • LIMIT 0,5;
  • END IF;
  • END$$
  • DELIMITER ;

saklı yordamı kullanmak için;

  • call sp_max5envanter(1)

komutu kullanılır (1 parametre olarak verilmiştir).

omurserdarr

Ömürcan Serdar, 30 Ağustos 2018 Perşembe 15:30 tarihinde kayıt oldu

Beğeni