MySQL procédure Stockée variables à partir d'instructions SELECT

Je suis en train de créer une procédure stockée. Voici ce que j'ai à ce jour (pas de travail):

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 est une fonction que j'ai créé qui fonctionne très bien. Comme vous pouvez le voir je suis en train de prendre l'id d'une ville à partir des villes de la table, puis définissez cityLat et cityLng pour certains, d'autres valeurs de cet enregistrement. Je suis évidemment faire cette erreur en utilisant Sélectionne.

Est-ce même possible. Il semble qu'il devrait être. Toute aide que ce soit, sera grandement apprécié.

OriginalL'auteur Matt Harrison | 2012-05-18