मुझे इस क्वेरी के साथ अधिकतम रिकर्सन त्रुटि मिल रही है।कथन पूरा होने से पहले अधिकतम रिकर्सन 100 समाप्त हो गया है
पहले मैंने सोचा था कि ऐसा इसलिए था क्योंकि एक शून्य वापस लौटाया जा रहा था और फिर यह त्रुटि के कारण शून्य मानों को आजमाएगा और मेल करेगा, हालांकि, मैं अपनी क्वेरी को फिर से लिखता हूं ताकि नल वापस नहीं आ सकें और त्रुटि अभी भी होती है।
इस समारोह के पुनर्लेखन के लिए, ताकि त्रुटि
WITH EmployeeTree AS
(
SELECT
EMP_SRC_ID_NR Id, USR_ACV_DIR_ID_TE Uuid,
CASE Employees.APV_MGR_EMP_ID
WHEN Null THEN '0'
ELSE Employees.APV_MGR_EMP_ID
END as ApprovalManagerId
FROM
dbo.[tEmployees] as Employees WITH (NOLOCK)
WHERE
APV_MGR_EMP_ID = @Id
and Employees.APV_MGR_EMP_ID is not null
and Employees.EMP_SRC_ID_NR is not null
UNION ALL
SELECT
EMP_SRC_ID_NR Id, USR_ACV_DIR_ID_TE Uuid,
CASE Employees.UPS_ACP_EMP_NR
WHEN Null THEN '1'
ELSE Employees.UPS_ACP_EMP_NR
END as ApprovalManagerId
FROM
dbo.[tEmployees] as Employees WITH (NOLOCK)
WHERE
UPS_ACP_EMP_NR = @Id
and Employees.APV_MGR_EMP_ID is not null
and Employees.EMP_SRC_ID_NR is not null
UNION ALL
SELECT
Employees.EMP_SRC_ID_NR, Employees.USR_ACV_DIR_ID_TE,
CASE Employees.APV_MGR_EMP_ID
WHEN Null THEN '2'
ELSE Employees.APV_MGR_EMP_ID
END
FROM
dbo.[tEmployees] as Employees WITH (NOLOCK)
JOIN
EmployeeTree ON Employees.APV_MGR_EMP_ID = EmployeeTree.Id
where
Employees.APV_MGR_EMP_ID is not null
and Employees.EMP_SRC_ID_NR is not null
)
SELECT
Id AS [EmployeeId],
Uuid AS [EmployeeUuid],
ApprovalManagerId AS [ManagerId]
FROM EmployeeTree
हम्म यह काम किया लेकिन क्वेरी तो एक बहुत अधिक पंक्तियों लौटे यह –
होना चाहिए @bugz Maxrecursion 0 अब आपकी क्वेरी को प्रभावित करता है, आप कहीं और समस्या को देखने के लिए –
है आह उस में एक परिपत्र refrence था मेरा डेटा, मदद के लिए धन्यवाद –