你逻辑流程有问题 ,下面是你的逻辑流程,
成都创新互联专注于企业网络营销推广、网站重做改版、恭城网站定制设计、自适应品牌网站建设、H5技术、电子商务商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为恭城等各大城市提供网站开发制作服务。
读取下一条→加值→[判断是否结尾→读取下一条→加值](循环)
而@@FETCH_STATUS返回3种状态,
0 FETCH 语句成功。
-1 FETCH 语句失败或此行不在结果集中。
-2 被提取的行不存在。
这样在游标移动到最后一行的时候,进行while判断@@FETCH_STATUS为0 ,进行一次加值,然后又直接进入while判断 这时候你还没有移动游标,@@FETCH_STATUS还是为0,又进行了一次加值,然后移动游标,进行判断@@FETCH_STATUS不为0,退出循环
所以应该修改逻辑为
读取下一条→[判断是否结尾→加值→读取下一条](循环)
SQL语句调整如下
===========================================
OPEN Employee_Cursor
FETCH NEXT FROM Employee_Cursor into @id,@name
WHILE @@FETCH_STATUS = 0
BEGIN
set @finalname = @finalname + @name
FETCH NEXT FROM Employee_Cursor into @id,@name
END
CLOSE Employee_Cursor
==================================
以上语句实测试通过
先移动游标,然后就开始判断,为真进行加值 然后移动游标,这样就没问题了,
sqlserver2005以上的版本可用
select 单号,申请人,
stuff((select '/'+文件名 from tbB where a.单号=单号 for xml path('')),1,1,'')文件名
from tbA as a
select id,row_number() over (order by id) rank from table
sqlserver2005以后版本的话可以这样
sqlserver语句添加列步骤如下:
1、首先我们准备一个数据表,接下来将会在这个表中添加列。
2、然后我们通过alter table语句来给表添加一个列。
3、回到数据表一会我们看到列已经被添加进数据表了。
4、接下来我们在添加列的时候同时添加上默认值,这个时候运用default关键字。
5、然后回到数据表,我们就看到默认值有内容了。
6、另外在数据表中经常使用的是uniqueidentifier类型,这种字段设置默认值。
7、回到数据表中我们可以看到默认值已经添加上了。
文章题目:sqlserver累加列,sql语句 数据累加
文章地址:https://www.cdcxhl.com/article36/hcedpg.html
成都网站建设公司_创新互联,为您提供云服务器、自适应网站、营销型网站建设、面包屑导航、虚拟主机、软件开发
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联