Получение ошибки " оператор завершается. Максимальная рекурсия 100 была исчерпана до завершения оператора.
Я использую эту нижеприведенную функцию для получения родительского дочернего кода для филиала с головным офисом. Но по ошибке эти два значения были обновлены до нуля, и теперь, когда я вызываю эту функцию , получаю ошибку "
The statement terminated. The maximum recursion 100 has been exhausted before statement completion.
"...Пожалуйста, проводитеCREATE FUNCTION [dbo].[FUN_GETCHILD_CODE](@LEVEL_NO VARCHAR(20),@PARENT_CODE VARCHAR(20), @CHILD_CODE VARCHAR(20)) RETURNS @Values TABLE( CHILD_CODE VARCHAR(20),CHILD_DESC VARCHAR(200),PARENT_CODE VARCHAR(20),LEVEL_NO VARCHAR(20),LEVEL_CODE VARCHAR(20)) AS BEGIN IF @LEVEL_NO = 'NULL' SET @LEVEL_NO='0' IF @PARENT_CODE = 'NULL' SET @PARENT_CODE='0' IF @CHILD_CODE = 'NULL' SET @CHILD_CODE='0'; WITH LEVEL_PARENT(CHILD_CODE, CHILD_DESC, PARENT_CODE,LEVEL_CODE) AS ( SELECT CHILD_CODE, CHILD_DESC, PARENT_CODE,LEVEL_CODE FROM TB_LEVELS_PARENT_CHILD WHERE PARENT_CODE = @PARENT_CODE OR CHILD_CODE = @CHILD_CODE UNION ALL SELECT E.CHILD_CODE, E.CHILD_DESC, E.PARENT_CODE,E.LEVEL_CODE FROM TB_LEVELS_PARENT_CHILD E INNER JOIN LEVEL_PARENT P ON P.CHILD_CODE = E.PARENT_CODE ) INSERT INTO @Values ( CHILD_CODE,CHILD_DESC,PARENT_CODE,LEVEL_NO,LEVEL_CODE) SELECT A.CHILD_CODE, A.CHILD_DESC, A.PARENT_CODE,B.LEVEL_NO,A.LEVEL_CODE FROM LEVEL_PARENT A,TB_LEVEL_MASTER B WHERE A.LEVEL_CODE = B.LEVEL_CODE AND B.LEVEL_NO = @LEVEL_NO ORDER BY LEVEL_NO DESC,PARENT_CODE DESC RETURN END
Что я уже пробовал:
SELECT DISTINCT CHILD_CODE CHILD_CODE FROM FUN_GETCHILD_CODE('1','HO','HO')