SQL server 使用自定义函数以及游标
最近忙于动态监测软件的开发,处理有关标准宗地编码和区段编码关系,关系如下表所示:
编号 |
标准宗地编码(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数据库中,创建自定义函数,通过游标,将表的数据转化为结果表,函数代码如下所示:
1 create function combstr(@name nvarchar(50)) 2 returns nvarchar(300) 3 as 4 begin 5 declare @resultStr nvarchar(300) 6 declare @tempStr nvarchar(500) 7 declare @flag int 8 declare myCur cursor --定义游标 9 For(select landCode from land where sectCode=@name )10 open myCur –-打开游标11 fetch next from myCur into tempStr –将游标下移12 set @flag=013 while @@fetch_status=014 begin15 if @flag=016 begin17 set @resultStr=@tempStr18 end19 else20 begin21 set @resultStr=@resultStr+','+@tempStr22 end23 set @flag=@flag+124 fetch next from myCur into @tempStr25 end26 close myCur27 deallocate myCur28 return @result29 end
转载于:https://www.cnblogs.com/Peter-Luo/archive/2011/10/31/sql_Cursor.html
SQL server 使用自定义函数以及游标相关推荐
- SQL Server中自定义函数和游标应用的经典案例
2019独角兽企业重金招聘Python工程师标准>>> SQL Server中自定义函数和游标应用的经典案例 转载于:https://my.oschina.net/zhddzr/bl ...
- php server自定义函数,php:SQL Server用户自定义的函数种类详解
关于SQL Server用户自定义的函数,有标量函数.表值函数(内联表值函数.多语句表值函数)两种. 题外话,可能有部分朋友不知道SQL Serve用户自定义的函数应该是写在哪里,这里简单提示一下,在 ...
- Sql Server 2005 ROW_NUMBER 函数实现分页
过去用SQL Server 2000分页的,大多都用到了临时表.SQL Server 2005 ROW_NUMBER 函数支持分页,性能据说也非常不错. Paging Records Using SQ ...
- SQL Server--用户自定义函数
除了使用系统提供的函数外,用户还可以根据需要自定义函数.用户自定义函数是 SQL Server 2000 新增的数据库对象,是 SQL Server 的一大改进.与编程语言中的函数类似,Microso ...
- SQL Server 2005 MD5函数
原文:SQL Server 2005 MD5函数 在SQL Server 2005下自带的函数HashBytes() ,此函数是微软在SQL Server 2005中提供的,可以用来计算一个字符串的M ...
- SQL Server 内存泄露(memory leak)——游标导致的内存问题
原文:SQL Server 内存泄露(memory leak)--游标导致的内存问题 转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/07/01/sql ...
- oracle的date_add,SQL Server 中add函数到 oracle date add的操作
SQL Server 中add函数到 oracle date add的操作 oracle date add minutes How does one add a day/hour/minute/sec ...
- SQL server如何自定义服务器名称登陆
SQL server如何自定义服务器名称登陆 经常看到人家数据库连接方式有IP,有点的,有local的,有127.0.0.1等.今天我们一起来探讨下,这些连接方式的名称是如何设置的. 工具/原料 装有 ...
- sql server中datename函数的使用
DATENAME(param,date); 参数说明 1.param是指定要返回日期部分的参数 日期部分 缩写 year yy, yyyy quarter qq, q month mm, m d ...
最新文章
- 为什么你学C++就那么难?
- hdu-acm steps Max sum
- Mysql -- 外键的变种 三种关系
- ERROR: libass not found using pkg-config
- 基础03 JVM到底在哪里?
- 运算放大器虚短和虚断
- android 车牌输入键盘
- 流式数据分析处理的常规方法
- Win10外接显示器可以复制不可以扩展
- 中国安检设备行业市场发展分析及前景趋势展望报告2022-2028年
- 神经网络是什么,神经网络具体有什么用?
- Android Studio的报错提示:Error while Launching activity
- HDU 4513 吉哥系列故事――完美队形II(Manacher)
- linux 无线网卡ping不同,请教高手,本地网卡和无线网卡均不能ping通网关
- C语言——测试电脑大小端
- 转:世上最愚蠢的行为,就是讲道理
- rust潘通色_[转载]PANTONE(潘通色卡)TPX/TCX色号颜色查询--以后不用愁啦!!!...
- 小米/红米刷机过程-以红米3S为例
- 从“棱镜门”事件看“洋”产品
- 再论互联网公司盖楼那些事-西毒微软
热门文章
- Linux 共享库LD_PRELOAD环境变量
- ssl证书的生成与签名
- 作死把mysql root用户的权限给去掉了或者忘记密码了怎么办
- [Python] L1-025. 正整数A+B-PAT团体程序设计天梯赛GPLT
- CCCC-GPLT L2-019. 悄悄关注 团体程序设计天梯赛
- 解决办法:Transport security has blocked a cleartext HTTP (http://) resource load since it is insecure. T
- vim nerdtree 标签_学业支持 | OS课程——给你的vim换套新衣服
- 解决/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.14' not found问题
- MongoDB,分组,聚合
- ibatis sql_Map中出现异常:Cause: java.lang.RuntimeException: JavaBeansDataExchange could not instantiate..