저장 프로 시저를 실행하고 결과를 반환하는 검색 기능이 있습니다. 결과가 없으면 좀 더 일반화 된 검색을 사용하여 한 번 더이 기능을 실행 해보고 싶습니다. 어떤 결과가 없다면, 기본적으로재귀 메서드 호출에 문제가 있습니까?
<cfif results.recordCount EQ 0 And Not arguments.searchForPotentialMatches>
<cfset arguments.searchForPotentialMatches = True />
<cfinvoke method="thisMethod" argumentCollection="#arguments#" />
</cfif>
와 나는 이미 다시이 메소드를 호출한다, 일반화 된 검색을 시도하지 않은 - 그래서, 난 내 코드에 CFIF를 넣어. 그런 다음 메서드 시작 부분에서 저장 프로 시저를 호출하기 전에 searchForPotentialMatches가 true인지 확인한 후 검색 쿼리를 일반화합니다.
문제가있는 것 같습니다. 실행하려고하면 저장 프로 시저에 시간 초과가있을 때까지 중단됩니다. 디버깅 및 변수 출력을 통해 저장 프로 시저에 도달했는지 확인한 다음 실행을 계속하려고했습니다. 그러나 이러한 재실행 변경 전에 원래 함수를 사용하여 일반 검색을 수행 한 다음 일반화 된 검색을 2 개의 별도 호출로 수행하면 올바르게 실행됩니다. 그래서 프로그래밍 방식으로 이것을 빌드하려고 할 때 왜 실패하는지 확신 할 수 없다. 내가 뭘 잘못하고 있니?
전체 기능 호출을 게시하십시오. 문제는 재귀 호출 자체에있을 수도 있고 그렇지 않을 수도 있습니다. –