sql server游标使用中的问题,出现“必须声明标量变量”错误提示。谢谢

如图所示。stu这个表存在并且放入了有效数据。想要从表中使用游标读取一行数据然后放到一组变量中,然后输出。但是出错了。求解,谢谢!问题补充:最后一行print输出,如果用... 如图所示。stu这个表存在并且放入了有效数据。
想要从表中使用游标读取一行数据然后放到一组变量中,然后输出。
但是出错了。求解,谢谢!
问题补充:
最后一行print输出,如果用select输出如何书写 谢谢
展开
 我来答
badkano
2013-08-01 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885371
团长

向TA提问 私信TA
展开全部
declare cur cursor dynamic
for
select * from stu
open cur
declare @id int,@name nvarchar(12),@age int,@sex nvarchar(5),@a int
fetch next from cur into @id,@name,@age,@sex,@a
while @@fetch_status = 0 
begin
print cast(@id as nvarchar)+@name+cast(@age as nvarchar)+@sex+cast(@a as nvarchar)
fetch next from cur into @id,@name,@age,@sex,@a 
end
close cur
deallocate cur
go

 

这样吧

 

int类型的不能直接用+号,必须转成字符型才可以输出,还有,你游标有些地方用的不正确,也没关闭和释放, 所以执行一次后,就会报游标未关闭之类的错

cjuesi
推荐于2018-04-11 · TA获得超过963个赞
知道小有建树答主
回答量:540
采纳率:88%
帮助的人:143万
展开全部
把GO去掉
select不是输入语句,它是查询语句,你可以select str(id)@name+str(@age)+@sex+str(@a)
这样它会把这个结果计算并以表格形式显示出来,加上str是为了把数字转换为字符,再跟其它字符链接
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
micro0369
2013-08-01 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4062万
展开全部
把go放到 print 后面
更多追问追答
追问

原来这里错了,谢谢你。

但是输出这块报错了:

提示错误出现在13行,也就是print那句。是不是不同类型的数据一起输出不能这么做?

这是表的设计:数据类型应该是和声明的变量类型对应起来的。


再问您两个问题:

1、使用select能输出变量吗?若能,如何?

2、能否使用游标返回指定列?比如只返回一列name或者age。


谢谢您

追答
select @id,@name,@age,...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式