si tengo una funciónSQL re-evalulate la función para cada fila o sólo una vez, convirtiéndola en una constante
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
Para una tabla muy grande, serán estas dos LSQ realizar casi la misma?
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()
Sé evitando la función es más seguro, pero para los propósitos de prueba, que quieren ser capaces de manipular la función para devolver un resultado codificado sin impactar en las pruebas realizadas por otras personas que están confiando en una fecha diferente para establecerse en la tabla de fecha del ciclo. Quiero poder cambiar a una fecha diferente en el sin impactar a nadie más.