再帰は、直接SQLに取り付けられている。ここでは、達成することは比較的簡単です。
- 単にユーザ・テーブルを作成する CREATE TABLEを ユーザ( ユーザID INT PRIMARY KEY IDENTITY(1、1 )、 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
、一時テーブルに再帰クエリ結果を追加
再帰的な効率が非常に高いです!