一個二叉樹的遞歸,找出左邊最下面的一個點 id 自動編號 pid 父ID id_path 節(jié)點路徑 flg 位置,0左邊,1右邊 ALTER PROCEDURE [dbo].[get_class]
復制代碼 代碼如下:
@class int, @return int output AS
SELECT @return=isnull(( select top 1 id from class where pid=@class and flg=0 ),-2)
if @return>-1 begin exec get_class @return,@return output--這里為什么要用@return,你要最后得到這個值,必須把它傳進去
end
else begin SELECT @return=@class end GO
其實只需一個查詢語句就能找出最下面的ID 節(jié)點路徑包函1,并且父節(jié)點位置都是左邊,取出最大一個 select top 1 * from class a where id_path like '%1,%' and flg=0 and (select flg from class where id=a.pid)=0 order by id desc