ストアドプロシージャを作成しようとしています。ここで私は今のところ(動作していない)持っているものです。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 |
半正矢は正常に動作し、私が作成した関数です。あなたが見ることができるように、私は都市のテーブルから都市のidを取得し、次にcityLatとcityLngをそのレコードの他の値に設定しようとしています。私は明らかにSELECTを使用してここで間違っています。
これも可能ですか?それはすべきだと思われる。どんな助けでも大いに感謝されます。あなたがMySQLのSELECT ... INTO
構文を使用することができ、また
SET cityLat = (SELECT cities.lat FROM cities WHERE cities.id = cityID);
: