Problemet är att procedurparametern har samma namn som en kolumn i tabellerna. När du hänvisar till propertyid
i frågorna använder den kolumnen, inte parametern. Kolumn- och variabelnamn är skiftlägesokänsliga, så det spelar ingen roll att du stavat ett av dem PropertyID
och den andra propertyId
.
Använd ett annat namn för parametern, t.ex. p_propertyId
Dessutom finns det inget behov av två frågor, du kan göra det i en med en JOIN
.
UPDATE sales.florida AS s
CROSS JOIN (
SELECT *
FROM annuals.florida
WHERE propertyId = p_propertyId
LIMIT 1) AS a
SET s.SitusLongitude = a.SitusLongitude, s.SitusLatitude = a.SitusLatitude
WHERE s.PROPERTYUNIQUEID = p_propertyId
Observera att du använder LIMIT
utan ORDER BY
betyder att raden som väljs kommer att vara oförutsägbar.