34,593
社区成员
发帖
与我相关
我的任务
分享
declare crVWLS CURSOR LOCAL for
select cl1, cl2
from tb_sptest where cl1 > @flag
这里已经把读取到的数据固定了,所以读取的数据不会变了alter PROCEDURE [dbo].[SP_test]
as
begin
declare @flag int
--对@flag赋值
set @flag =2 --赋值不对过程起作用
declare @cl1 int
declare @cl2 varchar(10)
declare crVWLS CURSOR LOCAL for
select cl1, cl2
from tb_sptest where cl1 > @flag
--打开游标
open crVWLS;
FETCH NEXT FROM crVWLS INTO @cl1,@cl2
while @@FETCH_STATUS = 0
begin
update tb_sptest set cl2 = 'SUCESS' where cl1 = @cl1 and cl2 = @cl2
FETCH NEXT FROM crVWLS INTO @cl1,@cl2
end
CLOSE crVWLS;
DEALLOCATE crVWLS;
end