मैं संग्रहीत प्रक्रिया बनाने की कोशिश कर रहा हूं। यहां मेरे पास अब तक है (काम नहीं कर रहा है):SELECT कथन से MySQL संग्रहीत प्रक्रिया चर
DELIMITER |
CREATE PROCEDURE getNearestCities(IN cityID INT)
BEGIN
DECLARE cityLat FLOAT;
DECLARE cityLng FLOAT;
SET cityLat = SELECT cities.lat FROM cities WHERE cities.id = cityID;
SET cityLng = SELECT cities.lng FROM cities WHERE cities.id = cityID;
SELECT *, HAVERSINE(cityLat,cityLng, cities.lat, cities.lng) AS dist FROM cities ORDER BY dist LIMIT 10;
END |
हैवरसिन एक ऐसा फ़ंक्शन है जो मैंने बनाया है जो ठीक काम करता है। जैसा कि आप देख सकते हैं कि मैं शहरों की मेज से शहर की आईडी लेने की कोशिश कर रहा हूं और फिर उस रिकॉर्ड के कुछ अन्य मूल्यों के लिए शहर लाट और सिटीएलजी सेट कर रहा हूं। मैं स्पष्ट रूप से SELECTs का उपयोग कर यह गलत कर रहा हूँ।
क्या यह भी संभव है। ऐसा लगता है कि यह होना चाहिए। किसी भी मदद की सराहना की जाएगी। आप MySQL के SELECT ... INTO
सिंटैक्स का उपयोग कर सकते हैं
SET cityLat = (SELECT cities.lat FROM cities WHERE cities.id = cityID);
वैकल्पिक रूप से,: