再帰のSQLServerデータベース

再帰は、直接SQLに取り付けられている。ここでは、達成することは比較的簡単です。

- 単にユーザ・テーブルを作成する
CREATE  TABLEを  ユーザ
     ユーザID INT  PRIMARY  KEY  IDENTITY11 )、
     ParentUserID122とINTを

データの数千人があることをこの仮定は、それが再帰を開始しました。

WITH CTE AS 
    SELECT a.UserID、0を AS LVL FROM  [ ユーザー] A WHERE a.ParentUserID = @UserID 
    UNION  ALL 
    SELECT a.UserID、1つの+ LVL FROM  [ ユーザー] INNERが JOINのCTE C ON a.ParentUserID = C。ユーザーID 
SELECT  *  INTO#の温度 FROM CTE

、一時テーブルに再帰クエリ結果を追加

再帰的な効率が非常に高いです!

おすすめ

転載: www.cnblogs.com/nnnnnn/p/10948309.html