У меня есть хранимая процедура
EXEC demoProcedure @start='01-01-2019',@end = '02-01-2019'
Хранимая процедура принимает два параметра даты и выполняет поиск данных между ними. Мой вопрос: я бы хотел, чтобы эта процедура проверялась несколько раз для множества диапазонов дат. Например, я хотел бы в основном позвонить:
EXEC demoProcedure @start='01-01-2019',@end = '02-01-2019';
EXEC demoProcedure @start='02-01-2019',@end = '03-01-2019';
....
EXEC demoProcedure @start='12-01-2019',@end = '01-01-2020'
Или эффективно вызывать эту хранимую процедуру один раз в месяц. В прошлом я возился с созданием временной таблицы дат:
;WITH DateTable AS
(
SELECT row = 1, date = '2019-01-01'
UNION ALL
SELECT row + 1, DATEADD(YEAR, -1, date)
FROM DateTable
WHERE row + 1 <= 7
)
SELECT *
FROM DateTable
Который фактически возвращает Яна первым за последние 7 лет. Есть ли способ легко объединить эти два, чтобы вызвать хранимую процедуру один раз для каждого набора дат? То есть вызовите его для start = row (1), end = row (2); начало = строка (2), конец = строка (3); .... до конца строки? Или есть более простой способ настроить все это. Спасибо!