• Hi Dude,

    Instead of using CURSOR you can try WHILE loop like below example.

    If possible dont use CURSORs in the procedure.

    DECLARE @tblMain AS TABLE (dateC DATETIME, valC FLOAT)

    DECLARE @tblMain2 AS TABLE (ID INT IDENTITY, dateC DATETIME, valC FLOAT)

    INSERT INTO @tblMain ( dateC, valC ) VALUES ( '31 aug 2010', 1.0)

    INSERT INTO @tblMain ( dateC, valC ) VALUES ( '07 sep 2010', 1.5)

    INSERT INTO @tblMain ( dateC, valC ) VALUES ( '14 sep 2010', 7.2)

    INSERT INTO @tblMain ( dateC, valC ) VALUES ( '21 sep 2010', 6.3)

    INSERT INTO @tblMain ( dateC, valC ) VALUES ( '28 sep 2010', 6.8)

    INSERT INTO @tblMain ( dateC, valC ) VALUES ( '30 sep 2010', 6.812)

    INSERT INTO @tblMain2( dateC, valC )

    select DateC, ValC from @tblMain ORDER BY dateC

    DECLARE @i AS INT

    DECLARE @cnt AS INT

    SET @i = 1

    SET @cnt = 0

    SELECT @cnt = COUNT(ID) FROM @tblMain2

    select DateC, ValC from @tblMain2

    WHILE (@i < @cnt)

    BEGIN

    UPDATE @tblMain2 SET valC = valC / 2 WHERE id = @i

    SET @i = @i + 1

    END

    select DateC, ValC from @tblMain2