Dreaded Cursors - HELP!

  • Yeah, I know...cursors...yuk. Lets try to move past that for a second...

    So what does it mean when I have a SELECT statement like this:

    SELECT

    Name

    FROM

    Customer

    WHERE

    CustomerID=1

    With Results that say:

    Name

    ----------------

    Mike

    (1 row(s) affected)

    But then when I use the same SELECT as part of a cursor and do this:

    --Temp table to hold all results

    CREATE TABLE #tempTable (Colvalue1 VARCHAR(2000))

    --Variablel to hold cursor results

    DECLARE @col1 VARCHAR(200)

    --Cursor

    DECLARE Temp_curs CURSOR FOR

    SELECT

    Name

    FROM

    Customer

    WHERE

    CustomerID=1

    OPEN Temp_curs

    /*GET THE FIRST RECORD AND LOAD VARIABLES WITH COLUMN DATA*/

    FETCH NEXT FROM Temp_curs

    INTO @col1

    WHILE @@FETCH_STATUS=0

    BEGIN

    INSERT INTO #tempTable(Colvalue1)

    VALUES(@col1)

    FETCH NEXT FROM Temp_curs

    INTO @col1

    END

    /*CLOSE CURSOR AND DEALLOCATE SPACE*/

    CLOSE Temp_curs

    DEALLOCATE Temp_curs

    SELECT * FROM #tempTable

    Return results like:

    Name

    ----------------

    0

    (1 row(s) affected)

    Other than the obvious poor performance...WTH is going on here?! I'm in the process of confirming this is only happening on one machine...this is crazy! :crazy:

  • Never mind...customer had some outdated code with mistakes in it. The problem code was simply putting values into @coll (lower case "L") instead of @col1 (number "1")...looks almost identical within certain font families. :blush:

Viewing 2 posts - 1 through 1 (of 1 total)

You must be logged in to reply to this topic. Login to reply