पर आधारित संग्रहीत प्रक्रिया में गतिशील रूप से क्वेरी स्ट्रिंग का निर्माण करना उद्देश्य इनपुट चर के आधार पर एक MySQL संग्रहित प्रक्रिया के भीतर एक क्वेरी स्ट्रिंग को परिवर्तित करना है।MySQL गतिशील
कुछ इस तरह:
CREATE DEFINER=`root`@`localhost` PROCEDURE `func`(type VARCHAR(15))
BEGIN
SET @type = type;
-- Check for the sort parameter
if @type="asc" THEN
SET @sort = " order by name asc";
elseif @type="desc" THEN
SET @sort = " order by name desc";
else
SET @sort ="";
end if;
SELECT id, name from table @sort;
END
समाधान पर अमल उपयोग करने के लिए है, और concat: बनाएं Definer = 'root' @ 'लोकलहोस्ट 'प्रक्रिया' परीक्षण '(इनपुट VARCHAR (15)) BEGIN एसईटी @ इनपुट = इनपुट; यदि @ इनपुट = "आरोही" तो एसईटी @sort = "गतिविधिLogKey asc द्वारा आदेश"; elseif @input = "desc" तो SET @sort = "ActivityLogKey desc द्वारा ऑर्डर"; अन्य SET @sort = ""; अंत में; एसईटी @query = CONCAT ('गतिविधि * से चुनें *, @ सॉर्ट,' सीमा 0, 5 '); @query से stmt तैयार करें; निष्पादित करें; डीलॉकेट तैयार करें; END –
यदि यह समाधान है तो आपने इसे उत्तर के रूप में क्यों नहीं जोड़ा और इसे स्वीकार कर लिया या इसके साथ अपना प्रश्न संपादित नहीं किया। –
100 प्रतिष्ठा के बिना, मुझे अपने प्रश्न का उत्तर देने के लिए 8 घंटे का इंतजार करना है –