Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Променливи на съхранени процедури от оператори SELECT

Коригирани са няколко неща и е добавен алтернативен избор – изтриване според случая.

DELIMITER |

CREATE PROCEDURE getNearestCities
(
IN p_cityID INT -- should this be int unsigned ?
)
BEGIN

DECLARE cityLat FLOAT; -- should these be decimals ?
DECLARE cityLng FLOAT;

    -- method 1
    SELECT lat,lng into cityLat, cityLng FROM cities WHERE cities.cityID = p_cityID;

    SELECT 
     b.*, 
     HAVERSINE(cityLat,cityLng, b.lat, b.lng) AS dist 
    FROM 
     cities b 
    ORDER BY 
     dist 
    LIMIT 10;

    -- method 2
    SELECT   
      b.*, 
      HAVERSINE(a.lat, a.lng, b.lat, b.lng) AS dist
    FROM     
      cities AS a
    JOIN cities AS b on a.cityID = p_cityID
    ORDER BY 
      dist
    LIMIT 10;

END |

delimiter ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql изберете къде не е в таблицата

  2. Strange MySQL Popup Mysql Installer работи в режим на общност

  3. Съхранение на Mysql байтов масив

  4. Как да намерите последния ден от месеца за дадена дата в MySQL

  5. SQL, който изброява всички рождени дни през следващите и предходните 14 дни