Uma recursão de árvore binária, encontre o ponto inferior à esquerda
Id numeração automática
ID do pai PID
ID_PATH NODE PATH
Posição FLG, 0 esquerda, 1 direita
Alterprocedure [DBO]. [Get_class]
Copie o código da seguinte forma: @classint,
@returnintOutput
COMO
Selecione@return = isNull ((selectTop1idFromClasswherepid =@Classandflg = 0),-2)
Se@return> -1
Começar
Execget_class@return,@returnOutput-por que você precisa usar @return aqui? Se você quiser obter esse valor no final, deve passar por ele
fim
outro
Começar
Selecione@return =@classe
fim
IR
De fato, você só precisa de uma declaração de consulta para encontrar o ID mais baixo
O caminho do nó contém 1, e os locais dos nó -pai estão todos à esquerda, retire o maior
selectTop1*FromClassawHereid_Pathlike '%1,%' eflg = 0 e (selectflgfromClasswhered = a.pid) = 0OrderByIdDesc