Rekursi pohon biner, temukan titik bawah di sebelah kiri
ID Penomoran Otomatis
ID induk PID
ID_PATH NODE PATH
posisi flg, 0 kiri, 1 kanan
Alterprocedure [dbo]. [Get_class]
Salin kode sebagai berikut: @classint,
@ReturnIntOutput
SEBAGAI
SELECT@return = isNull ((SELECTTOP1IDFROMCLASSWHERNEPID =@classandflg = 0),-2)
jika@return> -1
Mulai
execget_class@return,@returnOutput-mengapa Anda perlu menggunakan @return di sini? Jika Anda ingin mendapatkan nilai ini pada akhirnya, Anda harus meneruskannya
akhir
kalau tidak
Mulai
Pilih@return =@class
akhir
PERGI
Bahkan, Anda hanya perlu pernyataan kueri untuk menemukan ID terendah
Jalur simpul berisi 1, dan lokasi simpul induk semuanya ada di sebelah kiri, keluarkan yang terbesar
SELECTTOP1*fromclassawhereid_path seperti '%1,%' danflg = 0 dan (selectflgfromclasswhereId = a.pid) = 0OrderByIddesc