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
Post a Comment