오늘 아침 출근할려고 나오는데 누나가 한마디 하더군요..
"노무현 前대통령 자살했대.."
"에이~~ 거짓말.."
"진짜야 뉴스 봐바"
뉴스에서 특보로 나오고 있더군요..
정말 깜짝 놀랐습니다..
정신이 멍하군요..
여러가지 생각이 들지만 일단 이쯤해두렵니다..
나중에 언젠간 이야기 할 날이 오겠지요..
삼가 고인의 명복을 빕니다..
부디 정말로 편안한곳 가시기를..
CTE MAXRECURSION OPTION(재귀 횟수 재한)
MAXRECURSION 사용
잘못 구성된 재귀 공통 테이블 식이 무한 루프에 진입하는 것을 방지하는 데 MAXRECURSION을 사용할 수 있다. 다음 예에서는 의도적으로 무한 루프를 만들고 MAXRECURSION 힌트를 사용하여 재귀 수준을 2로 제한하는 방법을 보여 준다.
기본 디폴트 벨류는 100 으로 제한되어 있어 재귀 횟수가 100 이 넘을 경우 오류 발생
간혹 .NET 오류가 Sys.WebForms.PageRequestManagerServerErrorException가 뜨는 경우 (재귀 횟수 초가 오류)
위의 옵션으로 재귀 수준을 조정하여 오류를 없앨수 있다.
USE AdventureWorks;
GO
--Creates an infinite loop
WITH cte (EmployeeID, ManagerID, Title) as
(
SELECT EmployeeID, ManagerID, Title
FROM HumanResources.Employee
WHERE ManagerID IS NOT NULL
UNION ALL
SELECT cte.EmployeeID, cte.ManagerID, cte.Title
FROM cte
JOIN HumanResources.Employee AS e
ON cte.ManagerID = e.EmployeeID
)
--Uses MAXRECURSION to limit the recursive levels to 2
SELECT EmployeeID, ManagerID, Title
FROM cte
OPTION (MAXRECURSION 2);
GO