- SQL code
declare @a int, @b int ,@c int --变量declare test_1_cursor cursor SCROLL --声明游标for select * from test_1 open test_1_cursor --打开游标fetch last from test_1_cursor --最后一行数据fetch RELATIVE -2 from test_1_cursor --当前行的第2行。close test_1_cursor --结束游标deallocate test_1_cursor --释放游标
为啥,FETCH 取出来的变量不能INTO到变量中,
在下面的又如何判断@@cursor_rows。。。
------解决方案--------------------
- SQL code
自定义一个学生表(学号、姓名和性别),利用游标 读取表中数据并输出。*/--创建一个学生表student:go IF OBJECT_ID('student') is not nulldrop table studentgo create table student(id int ,name varchar(10),gender int check(gender=1 or gender=2))--使用批处理插入一些数据:goinsert into student values(1001,'tracy',1)insert into student values(1002,'lily',2)insert into student values(1003,'kobe',1)insert into student values(1004,'lucy',2)insert into student values(1005,'nash',1)declare cur cursor for select *from studentdeclare @id int,@name varchar(10),@gender intopen curfetch next from cur into @id,@name,@genderwhile @@fetch_status=0begin print ltrim(str(@id))+',[email protected]+','+ltrim(str(@gender)) fetch next from cur into @id,@name,@genderend close cur deallocate cur