基本上我有以下存儲過程:MySQL存儲過程中,如何插入多個變量,CONCAT
BEGIN
SET @query := CONCAT("SELECT *,
sqrt(
(POW(a.Latitude - co.CenterLatitude, 2)* 68.1 * 68.1) +
(POW(a.Longitude - co.CenterLongitude, 2) * 53.1 * 53.1)
) AS distance
FROM table1 as r
JOIN table2 as co ON co.field1 = r.field2
JOIN table3 AS a ON r.field1 = a.field2
WHERE ",rid);
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
它具有以下經過:
IN rid varchar(500), lat double, lon double
但我需要通過在經度和緯度變量。我試圖設置它們,然後將它們添加到查詢中,但它不能識別它們。這是我正在嘗試做哪些不成功:
BEGIN
SET @lat := lat;
SET @lon := lon;
SET @query := CONCAT("SELECT *,
sqrt(
(POW(a.Latitude - @lat, 2)* 68.1 * 68.1) +
(POW(a.Longitude - @lon, 2) * 53.1 * 53.1)
) AS distance
FROM table1 as r
JOIN table2 as co ON co.field1 = r.field2
JOIN table3 AS a ON r.field1 = a.field2
WHERE ",rid);
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
我不知道如何做到這一點。有沒有人有什麼建議?先謝謝你!!
你不能只是它們包括在級聯像你一樣'rid'? – Uueerdo
你能舉個例子嗎? – lov2code