我有以下表格的程序:
DELIMITER //
create procedure cl.getcoords(lat FLOAT(15,12), lon FLOAT(15,12), distance int)
BEGIN
declare tlat FLOAT(15,12);
declare tlon FLOAT(15,12);
declare tcoslat FLOAT(20,16);
SELECT lat, lon, cos_lat into tlat, tlon, tcoslat FROM cl.mrkrs WHERE cl.getcoordsdistance(lat, lon, tlat, tlon, tcoslat, distance) IS TRUE LIMIT 100;
END //
DELIMITER ;
当我打电话给这个程序时,我没有得到任何结果。怎么了?
答案 0 :(得分:1)
我终于做了以下事情来获得我想要的东西:
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `getcoords`(lat FLOAT(15,12), lon FLOAT(15,12), distance int)
BEGIN
-- declare tlat FLOAT(15,12);
-- declare tlon FLOAT(15,12);
-- declare tcoslat FLOAT(20,16);
SET @s = CONCAT('SELECT lat , lon , cos_lat FROM cl.mrkrs WHERE cl.getcoordsdistance(',lat,',' ,lon,', lat, lon, cos_lat,',distance,') IS TRUE LIMIT 100');
prepare stmt1 from @s;
execute stmt1;
deallocate prepare stmt1;
END$$
DELIMITER ;
答案 1 :(得分:0)
你可以这样传递 -
SELECT "abc" AS column1 FROM dual;