使用游标循环进行SQL更新插入的SQL语句

it2022-05-09  33

使用SQL中的循环,可以实现许多我们需要的操作,比如SQL更新操作。下面就为您介绍使用游标循环进行SQL更新插入的SQL语句写法,希望对您深入学习SQL更新有所帮助。

--开始事务  BEGIN TRAN   --不显示计数信息  SET NOCOUNT ON  DECLARE @ProjNo varchar(50),@CusNo varchar(50)   --声明游标  DECLARE CRMPSContact_cursor CURSOR FOR   SELECT ProjNo  FROM CRMPSContact  WHERE ProjNo>0   --打开游标  OPEN CRMPSContact_cursor   --取第一行的值给专案变量: @ProjNo  FETCH NEXT FROM CRMPSContact_cursor   INTO @ProjNo   --取得客户号  select @CusNoCusNo = CusNo   from CRMPSProjectM   where ProjNo = @ProjNo   --得到CRMPSContact中某专案号对应的客户号  update CRMPSContact   set CusNo = @CusNo  where ProjNo = @ProjNo   --执行错误回滚  if @@error!=0    begin      rollback tran      return    end   --移动游标,其它所有行更新操作(当到结尾时退出)  WHILE @@FETCH_STATUS = 0 BEGIN           --游标移到下一行     FETCH NEXT FROM CRMPSContact_cursor      INTO @ProjNo      --取得客户号     select @CusNoCusNo = CusNo      from CRMPSProjectM      where ProjNo = @ProjNo      --得到CRMPSContact中某专案号对应的客户号     update CRMPSContact      set CusNo = @CusNo     where ProjNo = @ProjNo          --执行错误回滚     if @@error!=0     begin       rollback tran       return     end  END   --提交所有变更  COMMIT TRAN   --关闭游标  CLOSE CRMPSContact_cursor   --释放游标  DEALLOCATE CRMPSContact_cursor   --恢复设置  SET NOCOUNT OFF  GO 

转载于:https://www.cnblogs.com/lxxhome/p/3580535.html


最新回复(0)