请教关于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



...全文
372 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧