Una recursión de árbol binaria, encuentre el punto inferior a la izquierda
Numeración automática de ID
ID de padre PID
ruta de nodo id_path
Posición de FLG, 0 izquierda, 1 derecha
Alterprocedure [dbo]. [Get_class]
Copie el código de la siguiente manera: @classint,
@returnToutOutput
COMO
Seleccionar@return = isNull ((selectTop1IDFromClassWherePid =@classandflg = 0),-2)
Si@return> -1
Comenzar
execget_class@return,@returnOutput: ¿por qué necesitas usar @return aquí? Si desea obtener este valor al final, debe pasarlo en
fin
demás
Comenzar
Seleccionar@return =@class
fin
IR
De hecho, solo necesita una declaración de consulta para encontrar la identificación más baja
La ruta del nodo contiene 1, y las ubicaciones del nodo principal están a la izquierda, eliminen la más grande
selectTop1*fromClassawhereId_pathlike '%1,%' yflg = 0and (selectflgFromClassSwhereID = A.pid) = 0orderByIDDesc