設置CTE遞歸循環的次數防止死循環


SELECT * FROM [dbo].[BankUser] OPTION( MAXRECURSION 128) 設置CTE遞歸循環的次數防止死循環

復制代碼
 1 --SELECT * FROM [dbo].[BankUser] OPTION( MAXRECURSION 128) 設置CTE遞歸循環的次數防止死循環 2013-7-25
 2 
 3 --拓狼_王成輝(34665702) 2013/7/25 12:03:03
 4 --遞歸CTE如何避免死循環,比如A的子是B,B的子又是A
 5 --李主明(1411739743) 2013/7/25 12:03:50
 6 --好像很難
 7 --OPTION( MAXRECURSION 128)
 8 --拓狼_王成輝(34665702) 2013/7/25 12:04:18
 9 --這個只是設定最大遞歸次數
10 --
11 --如果遞歸 CTE 組合不正確,可能會導致無限循環。
12 -- 例如,如果遞歸成員查詢定義對父列和子列返回相同的值,則會造成無限循環。
13 -- 可以使用 MAXRECURSION 提示以及在 INSERT、UPDATE、DELETE 或 SELECT 語句的 OPTION 子句中的一個 0 到 32,767 之間的值,
14 -- 來限制特定語句所允許的遞歸級數,以防止出現無限循環。
15 -- 這樣就能夠在解決產生循環的代碼問題之前控制語句的執行。
16 -- 服務器范圍的默認值為 100。 如果指定 0,則沒有限制。
17 -- 每一個語句只能指定一個 MAXRECURSION 值。 查詢提示 (Transact-SQL)。
18 
19 USE [pratice]
20 GO
21 SELECT * FROM [dbo].[BankUser] OPTION( MAXRECURSION 128)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM