请教关于sql游标的输出结果

wj081066 2010-10-27 08:37:00
我对一个表进行操作,表数据见下图,想在一个临时表中添加一个字段,并根据表数据的score值输出是否合格。
下面是我拥游标写的语句,但是在sql执行总是出来很多table值,如何只要最后一个table,多谢各位指点~~

结果是下图:

我写的语句:
Declare @T_REGISTER_INFO TABLE
(
ID VARCHAR(36),
SCORE VARCHAR(20),
IS_PASS VARCHAR(20)
)
INSERT INTO @T_REGISTER_INFO(ID, SCORE)
SELECT * FROM dbo.demo

-- 定义游标mytestcursor:
declare mytestcursor cursor for
select * from @T_REGISTER_INFO
-- 打开游标mytestcursor:
open mytestcursor
--fetch取出游标所指的记录
fetch next from mytestcursor
/***************** begin of loop *******************************/
while @@fetch_status = 0
begin

UPDATE @T_REGISTER_INFO SET IS_PASS =
(
CASE
WHEN SCORE = 'A' THEN '优秀'
WHEN SCORE = 'B' THEN '及格'
WHEN SCORE = 'C' THEN '不及格'
END
)

fetch next from mytestcursor
end
/***************** end of loop *******************************/

/***********关闭游标,释放游标:***************/
close mytestcursor
deallocate mytestcursor

SELECT * FROM @T_REGISTER_INFO



...全文
247 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xyj052 2010-10-28
同楼上,主要是LZ没有把游标取出来的值,存放到变量里进行进行操作的关系
回复
wj081066 2010-10-28
正解,需要存到临时变量,多谢各位提醒,结贴!!
回复
duanzhi1984 2010-10-27
先定义几个变量,@a,@b,@c


fetch next from cursor into @a,@b,@c

再对其进行操作
回复
ForFumm 2010-10-27
fetch from cursor into @变量....


回复
wj081066 2010-10-27
我的意图是先添加一个和字段,用游标逐个修改该字段的值,然后输出最后的结果~~
我觉得我写的那个语句没有问题,就是fetch的时候产生错误了,不知哪位高手看看,多谢~~
回复
wj081066 2010-10-27
不是,是修改我的那个带有游标的sql语句,楼上的写法太简单了~~多谢,呵呵~~
回复
dawugui 2010-10-27
就一个SQL语句?我没有理解错吧?
回复
dawugui 2010-10-27
select * , is_pass = (case when SCORE = 'A' THEN '优秀'
WHEN SCORE = 'B' THEN '及格'
WHEN SCORE = 'C' THEN '不及格'
end) from tb
回复
wj081066 2010-10-27
各位不好意思,不知道怎么编辑自己发的帖子。我在这儿发一下数据表结构:

这个是表数据:
id score
1 A
1 B
2 C
2 A
2 A

结果是:
id score is_pass
1 A NULL

id score is_pass
1 B 及格

id score is_pass
2 C 不及格

id score is_pass
2 A 优秀

id score is_pass
2 A 优秀

id score is_pass
1 A 优秀
1 B 及格
2 C 不及格
2 A 优秀
2 A 优秀

回复
wj081066 2010-10-27
奇怪了,我这儿看着是有图的,很清楚啊,我改一下吧~~多谢楼上提醒!!
回复
dawugui 2010-10-27
看不到图。
最好给出完整的表结构,测试数据,计算方法和正确结果.


发帖注意事项
http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281

回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2010-10-27 08:37
社区公告
暂无公告