問題は、プロシージャパラメータがテーブルの列と同じ名前であるということです。 propertyid
を参照する場合 クエリでは、パラメータではなく列を使用します。列名と変数名では大文字と小文字が区別されないため、PropertyID
のいずれかを入力してもかまいません。 およびその他のpropertyId
。
パラメータには別の名前を使用してください。例: p_propertyId
また、2つのクエリは必要ありません。JOIN
を使用して1つでクエリを実行できます。 。
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
LIMIT
を使用することに注意してください ORDER BY
なし 選択された行が予測できないことを意味します。