/****创建自定义函数****/
CREATEFUNCTIONdbo.fGetTreeTable
(
@IDint=null
)
RETURNS@TabTABLE(IDint,PIDint,Namevarchar(10),Levint)--返回结果的表结构
AS
BEGIN
Declare@levint
Set@lev=0
While@lev=0or@@ROWCount>0
Begin
Set@Lev=@Lev+1
Insert@Tab(ID,PID,Name,Lev)
SelectID,PID,Name,@LevFromTreeWhere(@Lev=1and((PID=@ID)or(@IDisnullandPIDisnull)))or(PIDin(SelectIDFrom@TabWhereLev=@Lev-1))
orderbyID
End
RETURN
END
直接查询Select * from dbo.fGetTreeTable(null)就可以输入所有记录。
说明:本文转载自:http://drc.cnblogs.com/articles/269062.html,如有问题可以向原作者提出。