У меня есть сценарий, содержащий курсор с инструкцией if-else, но для просмотра таблицы требуется слишком много времени. (таблица с 79000 строк занимает 1 час). Поэтому мне нужно преобразовать его в подход, основанный на наборе.преобразовать инструкцию if-else внутри курсора в наборе подход
если заявление является
IF (
SELECT count (b.key)
FROM general..ean a,
general..mainframe b,
general..hope c
WHERE a.ean = @ean
AND a.c_suppression = '0'
AND a.key = b.key
AND b.key = c.key
AND c.canal = @canal
) = 0
, где @ean и @canal являются значение, извлеченное в каждой строке с курсором. Просмотренная таблица - tmp_day_house_info_corporate. Так что мне нужно получить все строки из tmp_day_house_info_corporate, для которых @info и @canal в выражении if извлекают 0.
Благодарим вас за помощь.
Можете ли вы опубликовать весь код, включая декларацию курсора и выборку? –
Я подозреваю, что вы можете переписать итерацию курсора в качестве соединения, но, не видя больше кода, трудно сделать больше, чем микро оптимизировать. –