摘要:MSSQL_CTE 遞迴 應用---年曆
轉於http://itgroup.blueshop.com.tw/benchenBEN/blog?n=convew&i=419098
偷偷發現偷偷抄來,拜託請不要計較
----------產生2012年 的年曆
WITH CTETEST AS
(
SELECT CAST('2012/01/01' as smalldatetime) AS Start
UNION ALL
SELECT Start + 1
FROM CTETEST
WHERE Start < '2012/12/31 00:00:00'
)
SELECT START,DATENAME(WEEKDAY,start)
FROM CTETEST
OPTION (MAXRECURSION 0); ---要加 hint : OPTION (MAXRECURSION 0) 表示 遞迴為無限制
/*伺服器範圍的預設值是 100。設0 為無限制,若沒設, 則遞迴層級 若超過預設的100 會報錯 如下
訊息 530,層級 16,狀態 1,行 2
陳述式已結束。最大遞迴 100 已在陳述式完成之前用盡
*/
----------------------------------------------