если у меня есть функция
ALTER FUNCTION [dbo].[GetCycleDate]
(
)
RETURNS DATE
AS
BEGIN
DECLARE @CYC_DT DATE
SELECT
@CYC_DT = CYC_DT
FROM
CYC_DT
WHERE
CURR_CYC_IND = 'C'
RETURN @CYC_DT
END
Для очень большой таблицы будут ли эти два SQL работать почти одинаково?
SELECT
*
FROM
[dbo].Table S
INNER JOIN dbo.CYC_DT D ON
S.GL_DT = D.CYC_DT AND
D.CURR_CYC_IND = 'C'
SELECT
*
FROM
[dbo].Table S
WHERE
S.GL_DT = dbo.GetCycleDate()
Я знаю, что избегать использования функции безопаснее, но для целей тестирования я хочу иметь возможность настроить функцию так, чтобы она возвращала жестко закодированный результат, не влияя на тестирование, проводимое другими людьми, которые полагаются на другую дату, которая будет установлена таблица дат цикла. Я хочу иметь возможность переключаться на другую дату, не влияя ни на кого другого.