求教 关于使用游标将表中的双数行输出的原理
求教 关于使用游标将表中的偶数行输出的原理

谢谢大家,题目要求将表中的偶数行输出,这是我从网上找的答案,我想问一下他这里定义了局部变量,在SET和IF语句中也规定了@i为偶数的条件,但是为什么@i是怎么和行数绑定的呢?我知道@i是偶数可是代码中哪里说明了@i的值就是行的值了?还有一个问题,代码中有两个FETCH NEXT FROM C3 INTO语句,按照顺序是先打开游标就开始取数了,那第二个FETCH是什么意思呢?
谢谢大家了。
------解决思路----------------------
为什么@i是怎么和行数绑定的呢?我知道@i是偶数可是代码中哪里说明了@i的值就是行的值了?
既然都说是游标了,你要知道游标是按一定顺序的~
按顺序,i是几行数就是几了
还有一个问题,代码中有两个FETCH NEXT FROM C3 INTO语句,按照顺序是先打开游标就开始取数了,那第二个FETCH是什么意思呢?
每执行一次才读一次,第一次读的是给第一行的,循环运行的都是读给下一行的
------解决思路----------------------
这个游标是给无序扫描SELECT * FROM spj的,因为没有加相应的ORDER BY,就是无序扫描
游标是按顺序的,第一次读取游标会定位到第一行去,每次读取都会移到这个查询的下一行
谢谢大家,题目要求将表中的偶数行输出,这是我从网上找的答案,我想问一下他这里定义了局部变量,在SET和IF语句中也规定了@i为偶数的条件,但是为什么@i是怎么和行数绑定的呢?我知道@i是偶数可是代码中哪里说明了@i的值就是行的值了?还有一个问题,代码中有两个FETCH NEXT FROM C3 INTO语句,按照顺序是先打开游标就开始取数了,那第二个FETCH是什么意思呢?
谢谢大家了。
------解决思路----------------------
为什么@i是怎么和行数绑定的呢?我知道@i是偶数可是代码中哪里说明了@i的值就是行的值了?
既然都说是游标了,你要知道游标是按一定顺序的~
按顺序,i是几行数就是几了
还有一个问题,代码中有两个FETCH NEXT FROM C3 INTO语句,按照顺序是先打开游标就开始取数了,那第二个FETCH是什么意思呢?
每执行一次才读一次,第一次读的是给第一行的,循环运行的都是读给下一行的
------解决思路----------------------
这个游标是给无序扫描SELECT * FROM spj的,因为没有加相应的ORDER BY,就是无序扫描
游标是按顺序的,第一次读取游标会定位到第一行去,每次读取都会移到这个查询的下一行