sql server游标使用中的问题,出现“必须声明标量变量”错误提示。谢谢
发布网友
发布时间:2022-04-09 11:28
我来回答
共3个回答
热心网友
时间:2022-04-09 12:57
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类型的不能直接用+号,必须转成字符型才可以输出,还有,你游标有些地方用的不正确,也没关闭和释放, 所以执行一次后,就会报游标未关闭之类的错
热心网友
时间:2022-04-09 14:15
把GO去掉
select不是输入语句,它是查询语句,你可以select str(id)@name+str(@age)+@sex+str(@a)
这样它会把这个结果计算并以表格形式显示出来,加上str是为了把数字转换为字符,再跟其它字符链接
热心网友
时间:2022-04-09 15:50
把go放到 print 后面