发布网友 发布时间:2022-04-23 02:40
共4个回答
热心网友 时间:2023-10-12 02:58
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循环,你的问题是提取数据的循环,意思是一样的
}
}
热心网友 时间:2023-10-12 02:58
查询出来的结果如果有多个记录的话,执行完一条update语句后需要返回下一条记录,要重新把游标赋值,不然的话会出现死循环,这条是必须的
热心网友 时间:2023-10-12 02:59
begin end 里是循环,目的是循环取游标
热心网友 时间:2023-10-12 02:59
是指将游标移到下一条并相应操作