Как я могу вернуть новый запрос, если мой первый запрос ничего не возвращал? Я использую ssis для выполнения хранимой процедуры, если хранимая процедура ничего не возвращает, она должна передать новый запрос, который затем будет сохранен в новом назначении ole db.Возвращает новый запрос, если rowcount = 0
Пример запроса:
Declare @DepartureDate DATETIME = '4/16/2013',
begin
select PassengerNumber,FromTime,ToTime,Remarks from table a where DepartureDate = @DepartureDate
if (@@ROWCOUNT = 0)
begin
Select
'-' [PassengerNumber],
'00:00' [FromTime],
'00:00' [ToTime],
'No Mismatch' [Remarks]
end
End
Моя проблема заключается в том, что мой источник OLE DB возвращает пустой запрос вместо нового запроса, предоставленной если (@@ ROWCOUNT = 0). Поэтому данные не передаются в источник ole db.
НЕ СУЩЕСТВУЕТ может быть немного быстрее: 'WHERE NOT EXISTS (SELECT 1 FROM TABLEA WHERE DepartureDate = @DepartureDate)' ' –
и UNION ALL' является еще более вероятно, будет быстрее. Никогда не используйте 'UNION', когда вы можете использовать' UNION ALL' –
@ ElectricLlama правильно, здесь нет смысла использовать 'UNION'. –