Cursors

declare

@Amount money,@TranDate datetime, @ReturnValue int, @RetrievalRef varchar(20), @Message varchar(20)

declare letsmakeerror cursor for 

select ReturnValue, Amount from PDXLogTable where ReturnValue<>0

--select ReturnValue,Message from PDXLogTable where ReturnValue<>0

open letsmakeerror

fetch next from letsmakeerror into @ReturnValue,@Amount--@TranDate, @ReturnValue, @RetrievalRef ,@Message


while(@@FETCH_STATUS=0)

begin 


--print @ReturnValue


--if @ReturnValue=-111

--begin

--  update PDXLogTable set Message='trnsaction failed' where ReturnValue=-111

--end

if (@Amount=1000)

begin

 set @Amount=1015

end


if (@Amount=500)

begin 

 set @Amount=515

 end

 

 update PDXLogTable set Amount=@Amount where ReturnValue=@ReturnValue


 fetch next from letsmakeerror into @ReturnValue,@Amount--@TranDate, @ReturnValue, @RetrievalRef ,@Message

 end

 close letsmakeerror

 deallocate letsmakeerror



 ------- ALTERNATIVE FOR CURSOR --- CAN USE JOIN FOR MULTIPLE TABLE-------just an example---


 update PDXLogTable set Amount=

 case 

 when Amount=12000 then 1015

 when Amount=515 then 550

 end

 from PDXLogTable where ReturnValue<>0



Comments