天天看点

sql表值函数解码(,1,2,3,4,5)

create FUNCTION [dbo].[FT00解码餐宿交通人员]()

returns @jiema table(餐宿交通记录代码 int,餐宿交通人员代码 varchar(500))

AS

begin

DECLARE @餐宿交通记录代码 int

DECLARE @餐宿交通人员代码 int 

declare @餐宿交通人员 varchar(500)

DECLARE @记录数量 int

DECLARE @人员数量 int

DECLARE @餐宿交通记录总数 int

DECLARE @餐宿交通人员总数 int

set @记录数量=1 

set @餐宿交通记录总数=(select COUNT(*) from dbo.T108C餐宿交通记录)

Set @餐宿交通人员总数=1

while @记录数量<=@餐宿交通记录总数

begin

set @餐宿交通记录代码=(select top (1) 餐宿交通记录代码 from dbo.T108C餐宿交通记录

where 餐宿交通记录代码 not in (select top (@记录数量-1) 餐宿交通记录代码 from dbo.T108C餐宿交通记录 order by 餐宿交通记录代码 asc))

set @餐宿交通人员=(select top (1) 餐宿交通人员 from dbo.T108C餐宿交通记录

where 餐宿交通记录代码 not in (select top (@记录数量-1) 餐宿交通记录代码 from dbo.T108C餐宿交通记录 order by 餐宿交通记录代码 asc))

set @餐宿交通人员总数=DBo.FB01解码人员数量(@餐宿交通人员)

set @人员数量=1

while @人员数量<=@餐宿交通人员总数

begin

insert into @jiema select  餐宿交通记录代码,DBo.FB01解码人员代码(餐宿交通人员,@人员数量) from dbo.T108C餐宿交通记录 where 餐宿交通记录代码=@餐宿交通记录代码

set @人员数量=@人员数量+1

end

set @记录数量=@记录数量+1

end

return

end