select * from dbo.getSubCompany(24)返回结果集结构:
taxi_company_id int,taxi_company_name varchar(200),super_company_id int,level int目前不支持动态表名和列名。函数定义:
create function getSubCompany(@idPart int) returns @tabinfo table(taxi_company_id int,taxi_company_name varchar(200),super_company_id int,level int) as begin declare @cid int set @cid = 1 insert @tabinfo select taxi_company_id,taxi_company_name,super_company_id ,@cid from taxi_company where taxi_company_id = @idPart while @@rowcount>0 BEGIN set @cid = @cid + 1 insert @tabinfo select distinct x.taxi_company_id,x.taxi_company_name,x.super_company_id ,@cid from taxi_company as x join @tabinfo as y on x.super_company_id=y.taxi_company_id where y.level = @cid-1 end return end