MySQL Gespeicherte Prozedurvariablen aus SELECT-Anweisungen

7

Ich versuche eine gespeicherte Prozedur zu erstellen. Folgendes habe ich bisher (funktioniert nicht):

%Vor%

HAVERSINE ist eine Funktion, die ich erstellt habe und die gut funktioniert. Wie Sie sehen können, versuche ich, die ID einer Stadt von der Tabelle Städte zu übernehmen und cityLat und cityLng auf andere Werte dieser Aufzeichnung zu setzen. Ich mache das offensichtlich falsch mit SELECTs.

Ist das überhaupt möglich? Es scheint so zu sein. Jede Hilfe wird sehr geschätzt werden.

    
Matt Harrison 18.05.2012, 09:07
quelle

2 Antworten

12

Einige Dinge wurden korrigiert und eine alternative Auswahl hinzugefügt - Löschen wie gewünscht.

%Vor%     
Jon Black 18.05.2012, 09:47
quelle
13

Sie müssen einfach Ihre SELECT -Anweisungen in Klammern einschließen, um anzuzeigen, dass es sich um Unterabfragen handelt:

%Vor%

Alternativ können Sie die Syntax SELECT ... INTO von MySQL verwenden. Ein Vorteil dieses Ansatzes ist, dass sowohl cityLat als auch cityLng aus einem einzigen Tabellenzugriff zugewiesen werden können:

%Vor%

Die gesamte Prozedur kann jedoch durch eine einzige selbst verbundene SELECT -Anweisung ersetzt werden:

%Vor%     
eggyal 18.05.2012 09:12
quelle

Tags und Links