Я создаю функцию mysql, которая принимает varchar и заменяет его на int на основе таблицы сопоставления.
select name, convert_to_code(country) from users where sex = 'male'
здесь функция convert_to_code()
берет название страны (например, Япония, Финляндия ..) и заменяет его на код страны, который является целым числом (например, 1001, 2310 ..), на основе таблицы сопоставления, называемой country_maping
как ниже:
country_name (varchar) | country_code (int)
Japan | 1001
Finland | 2310
Canada | 8756
В настоящее время хранимой функции нужно select country_code from country_mapping where country_name = country_name
и вернуть результат запроса. Возможно ли создать структуру хэш-данных в SP для оптимизации процесса, чтобы не требовалось выполнять запрос для каждой строки, соответствующей условию where
.
спасибо заранее!