SQL server使用自定义函数以及游标

前端之家收集整理的这篇文章主要介绍了SQL server使用自定义函数以及游标前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

编号

@H_404_6@

标准宗地编码(landCode)

@H_404_6@

所在区段编码(sectCode)

@H_404_6@

1

@H_404_6@

131001BG001

@H_404_6@

G001

@H_404_6@

2

@H_404_6@

131001BG002

@H_404_6@

G001

@H_404_6@

3

@H_404_6@

131001BG003

@H_404_6@

G001

@H_404_6@

4

@H_404_6@

131001BG004

@H_404_6@

G002

@H_404_6@

5

@H_404_6@

131001BG005

@H_404_6@

G003

@H_404_6@

现在需要将表中的数据转换为如下表所示结果:

编号

@H_404_6@

区段编码

@H_404_6@

包含的标准宗地

@H_404_6@

1

@H_404_6@

G001

@H_404_6@

131001BG001,131001BG002,131001BG003

@H_404_6@

2

@H_404_6@

G002

@H_404_6@

131001BG004

@H_404_6@

3

@H_404_6@

G003

@H_404_6@

131001BG005

@H_404_6@
sql server数据库中,创建自定义函数,通过游标,将表的数据转化为结果表,函数代码如下所示:
代码如下:
create function combstr(@name nvarchar(50))
returns nvarchar(300)
as
begin
declare @resultStr nvarchar(300)
declare @tempStr nvarchar(500)
declare @flag int
declare myCur cursor --定义游标
For(select landCode from land where sectCode=@name )
open myCur –-打开游标
fetch next from myCur into tempStr –将游标下移
set @flag=0
while @@fetch_status=0
begin
if @flag=0
begin
set @resultStr=@tempStr
end
else
begin
set @resultStr=@resultStr+','+@tempStr
end
set @flag=@flag+1
fetch next from myCur into @tempStr
end
close myCur
deallocate myCur
return @result
end

猜你在找的MsSQL相关文章