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类型的不能直接用+号,必须转成字符型才可以输出,还有,你游标有些地方用的不正确,也没关闭和释放, 所以执行一次后,就会报游标未关闭之类的错
把GO去掉
select不是输入语句,它是查询语句,你可以select str(id)@name+str(@age)+@sex+str(@a)
这样它会把这个结果计算并以表格形式显示出来,加上str是为了把数字转换为字符,再跟其它字符链接
把go放到 print 后面