को बदलने अगर मैं एक समारोहएसक्यूएल फिर से evalulate समारोह हर पंक्ति के लिए या सिर्फ एक बार, यह एक निरंतर
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
एक बहुत बड़ी मेज के लिए है इन दो SQLs लगभग एक ही प्रदर्शन करेंगे करता है?
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()
मैं परहेज समारोह सुरक्षित है पता है, लेकिन परीक्षण प्रयोजनों के लिए, मैं समारोह रिग करने में सक्षम परीक्षण अन्य लोगों को जो एक अलग तिथि पर निर्भर कर रहे हैं के द्वारा किया प्रभावित किए बिना एक हार्ड कोडित परिणाम वापस जाने के लिए होना चाहता हूँ साइकिल दिनांक तालिका में सेट करने के लिए। मैं किसी और को प्रभावित किए बिना किसी अलग तारीख पर स्विच करने में सक्षम होना चाहता हूं।