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

2023年 4月 17日 12.7k 0

编号 标准宗地编码(landCode) 所在区段编码(sectCode) 1 131001BG001 G001 2 131001BG002 G001 3 131001BG003 G001 4 131001BG004 G002 5 131001BG005 G003 现在需要将表中的数据转换为如下表所示结果: 编号 区段编码

编号

标准宗地编码(landCode)

所在区段编码(sectCode)

1

131001BG001

G001

2

131001BG002

G001

3

131001BG003

G001

4

131001BG004

G002

5

131001BG005

G003

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

编号

区段编码

包含的标准宗地

1

G001

131001BG001,131001BG002,131001BG003

2

G002

131001BG004

3

G003

131001BG005

在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

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论