Нет, изначально нет компонента, который будет обрабатывать это. Вы можете выполнить его с помощью компонента Script, но вы этого не хотите.
Что вы описываете - это поиск. Задача потока данных имеет компонент Lookup, но вам будет лучше обслуживаться, особенно для конечного списка значений, таких как страны, чтобы указать ваш запрос в компонент.
SELECT T.Country3, T.Country2 FROM dbo.Table T;
Затем вы перетащите столбец SourceCountry и сопоставьте его с Country3. Проверьте Country2 и для всех строк, которые соответствуют, вы получите 2-буквенную аббревиатуру.
Недостаток использования вашей хранимой процедуры - эффективность. По умолчанию Lookup будет кэшировать все эти значения. С версией скрипта, скажем, у вас есть 10k строк, все с CAN
. Это 10k-запросов вашей хранимой процедуры, где результаты никогда не меняются.
Вы оплачиваете начальную стоимость, поскольку режим поиска по умолчанию - это полный кэш, что означает, что он выполнит ваш запрос и сохранит все эти значения локально. Это отлично с вашим набором данных: 1000 стран максимум, 5 или 10 байт за строку. Это ничего.
То, как я это сделаю, помещает данные в промежуточную таблицу и выполняет массовое обновление. Если вы не хотите этого делать, вы можете использовать компонент поиска. Почему преобразование в хранимой процедуре? Разве это не простой поиск? –