Hulp met stored procedure

Status
Niet open voor verdere reacties.

Pascalvgemert

Nieuwe gebruiker
Lid geworden
29 sep 2009
Berichten
1
Ik probeer gebruik te maken van de volgende stored procedure, echter als ik hem probeer uit te voeren krijg ik een foutmelding:

DELIMITER //
DROP PROCEDURE IF EXISTS geodist//
CREATE PROCEDURE geodist (IN mylat double, IN mylon double, IN dist int)
BEGIN
declare lon1 float; declare lon2 float;
declare lat1 float; declare lat2 float;

-- calculate lon and lat for the rectangle:
set lon1 = mylon - dist / abs(cos(radians(mylat))*69);
set lon2 = mylon + dist / abs(cos(radians(mylat))*69);
set lat1 = mylat - (dist / 69);
set lat2 = mylat + (dist / 69);

-- run the query:
SELECT *,
3956 * 2 * ASIN(SQRT( POWER(SIN((mylat - SightLatitude)
* pi() /180 / 2), 2) +
COS(mylat * pi()/180) * COS(SightLatitude * pi()/180) *
POWER(SIN((mylon - SightLongitude) * pi() /180 / 2), 2) )) as
SightDistance FROM lay_sights
WHERE SightLongitude BETWEEN lon1 AND lon2 AND SightLatitude BETWEEN lat1 AND lat2
HAVING SightDistance < dist
ORDER BY SightDistance;
END //
DELIMITER ;

De foutmelding:
CALL geodist( 51.725198, 5.370899, 10 )

MySQL retourneerde: #1312 - PROCEDURE c2kdev_layar.geodist can't return a result set in the given context

Heeft iemand een oplossing of weet iemand waar het aan zou kunnen liggen?

Bij voorbaat dank,
Pascal
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan