SqlServer數據庫之遞歸


遞歸的實現比較簡單,這里就直接貼SQL了。

--簡單創建一個用戶表
CREATE TABLE  User(
     UserID INT PRIMARY KEY IDENTITY(1,1) ,
     ParentUserID INT  
)

假設這張有幾千條數據,開始遞歸它。

WITH cte AS
(
    SELECT a.UserID,0 AS lvl FROM [User] a WHERE a.ParentUserID=@UserID
    UNION ALL
    SELECT a.UserID,1+lvl FROM [User] a INNER JOIN cte c ON a.ParentUserID =c.UserID
)
SELECT * INTO #Temp FROM cte

添加到臨時表,查詢遞歸結果

遞歸的效率還是很高的!


免責聲明!

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



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