Problém je v tom, že parametr procedury má stejný název jako sloupec v tabulkách. Když odkazujete na propertyid v dotazech používá sloupec, nikoli parametr. V názvech sloupců a proměnných se nerozlišují malá a velká písmena, takže nezáleží na tom, že jste jeden z nich napsali PropertyID a další propertyId .
Pro parametr použijte jiný název, např. p_propertyId
Také nejsou potřeba dva dotazy, můžete to udělat v jednom pomocí 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
Všimněte si, že pomocí LIMIT bez ORDER BY znamená, že vybraný řádek bude nepředvídatelný.