天天看點

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