Я пытаюсь создать хранимую процедуру. Вот что у меня есть на данный момент (не работает):
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 |
HAVERSINE — это созданная мной функция, которая отлично работает. Как видите, я пытаюсь взять идентификатор города из таблицы городов, а затем установить для cityLat и cityLng некоторые другие значения этой записи. Я явно делаю это неправильно, используя SELECT.
Возможно ли это? Кажется, так и должно быть. Любая помощь будет принята с благодарностью.