游标取数为什么要用两次FETCH NEXT FROM INTO语句

发布网友 发布时间:2022-04-23 02:40

我来回答

1个回答

热心网友 时间:2022-07-11 00:15

fetch next from mycursor into @O_ID,@A_Salary
while(@@fetch_status = 0)
begin
Update OriginSalary set O_Salary=O_Salary+@A_Salary where O_ID=@O_ID
fetch next from mycursor into @O_ID,@A_Salary
end
假设表tempTable
id,text
1,T1
2,T2
3,T3
面代码省略,现在一句一句看fetch next from mycursor into @O_ID,@A_Salary(1)
fetch into 是移动游标提取数据。(1)句就是把第一行两列数据放到@O_ID,@A_Salary中,游标提留在第一行
while(@@fetch_status = 0)
{
--正常来说你要在这里循环提取每行数据,不然不会用到游标这个概念。
Begin end是什么?Begin就是“{”,END就是“}”
说到这了 你说为什么要写在{}里?如果不写,游标只停留在第一行,不是吗?
好比什么呢?就好比
int i=0
while(i<100)
{
i++;这里是i循环,你的问题是提取数据的循环,意思是一样的
}
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com