본문 바로가기

Database/MSSQL

CTE 무한루프

이전에 유용하게 사용했던 CTE SQL에서 간혹 오류가 나는 경우가 발생했습니다.

'문의 완료되기 전에 최대 재귀 횟수(?)가 초과되었습니다.'


이는 서버에서 CTE로 인한 무한루프를 방지하기 위한 장치의 제한이 걸렸기 때문일 가능성이 있습니다.

기본적으로 최대 100회의 재귀 CTE가 허용되며, 이는 0~32,767의 범위를 가질 수 있습니다.

질의의 마지막에 다음 구문을 추가하는 것으로 재귀 회수를 제어할 수 있습니다.


SQL


References

https://technet.microsoft.com/ko-kr/library/ms175972(v=sql.105).aspx

https://technet.microsoft.com/ko-kr/library/ms181714(v=sql.105).aspx