В задаче потока данных я могу вставить количество строк в поток обработки и поместить число в переменную. Позже я могу использовать эту переменную для условного выполнения некоторой другой работы, если число строк было> 0. Это хорошо работает для меня, но у меня нет соответствующей стратегии для задач sql, которые, как ожидается, вернут одну строку. В этом случае я возвращаю эти значения в переменные. Если при поиске нет строк, задача sql завершается неудачно при назначении значений этим переменным. Я могу выполнить ветвление на этом компоненте, если произойдет сбой, но есть побочный эффект этого - если я выполняю задание как шаг задания агента SQL-сервера, этот шаг возвращает DTSER_FAILURE, вызывая сбой шага. Я могу сказать агенту sql игнорировать ошибку шага, но тогда я не буду знать, есть ли у меня допустимая ошибка на этом шаге. Это кажется сложнее, чем должно быть.
Единственная стратегия, о которой я могу подумать, - это запустить один и тот же запрос с агрегатом count (*) и проверить, возвращает ли он число> 0, и, если это так, снова выполнить запрос без счетчика. Это ужасно, потому что у меня один и тот же запрос в двух местах, который мне нужно синхронизировать.
Есть ли лучший способ?