SQL server使用自定义函数以及游标
更新时间:2011年10月31日 23:22:06 作者:
最近忙于动态监测软件的开发,处理有关标准宗地编码和区段编码关系,关系如下表所示
|
编号 |
标准宗地编码(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 |
复制代码 代码如下:
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
相关文章
Windows系统彻底卸载SQL Server通用方法(推荐!)
卸载SQL是一件很麻烦的事,只要是重装过SQL的人都知道,下面这篇文章主要给大家介绍了关于Windows系统彻底卸载SQL Server通用方法的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下2023-01-01
Sql学习第一天——SQL 将变量定义为Table类型(虚拟表)
sql语句中的变量时通常我们定义的都是像char,varchar,nvarchar之类的,接下来教大家实现让变量作为一个像虚拟表一样,感性的各位可以参考下哈2013-03-03
T-sql语句修改SQL Server数据库逻辑名、数据库名、物理名的方法
这篇文章主要介绍了T-sql语句修改SQL Server数据库逻辑名、数据库名、物理名的方法,结合实例形式分析了T-SQL语句操作数据库的基本技巧,非常简单易懂,需要的朋友可以参考下2016-06-06


最新评论