In addition to Mycroft Halmes post you may required this result.
DECLARE @Tbl TABLE(ID INT , Value1 INT ,value2 INT,Result INT)
INSERT @Tbl (ID,Value1,value2)
SELECT 1, 1001,NULL
UNION SELECT 2,2331, 7808
UNION SELECT 3,2312, 8965
UNION SELECT 4,3213, 5557
UNION SELECT 5,8768, 3453
UNION SELECT 6,8857, 6577
UNION SELECT 7,NULL, 6778
Declare @ID as INT
Declare @Value1 as INT
Declare @Value2 as INT
Declare @result as INT
Declare @tmp as INT=NULL
Declare MY_data CURSOR FOR
Select ID,Value1,Value2 from @Tbl
OPEN MY_data
FETCH NEXT FROM MY_data INTO @ID,@Value1,@value2
WHILE @@FETCH_STATUS = 0
BEGIN
update @Tbl
Set result=@tmp-@Value2
WHere Id=@ID
set @tmp=@value1
FETCH NEXT FROM MY_data INTO @ID, @value1,@value2
END
CLOSE MY_data
DEALLOCATE MY_data
select * from @Tbl