Why are you comparing a string value of [test ID] to a number 36? When you do that SQL Server tries to convert the string to integer and fails on the value that is not an integer. You should compare string to string.
SELECT [test ID]) FROM Data42 where [test ID] = '36'
Also, thre's no reason to use a local variable for a CURSOR name
DECLARE testvalue CURSOR FOR
SELECT [test ID]) FROM Data42 where [test ID] = '36'
OPEN testvalue
...
>
>I am also having same problem but its not because of the list , i am using a store proc below :
>
>
>CREATE PROC dbo.testingloop
>
>(
>
>DECLARE @testid varchar(max)
>)
>
>AS
>BEGIN
>SET NOCOUNT ON
>
>DECLARE @SQL varchar(600)
>
>SET @testvalue = CURSOR FOR
>SELECT [test ID]) FROM Data42 where [test ID] = 36
>
>OPEN @testvalue
>
> FETCH NEXT
> FROM @testvalue INTO @testid
>
> WHILE @@FETCH_STATUS = 0
>
> BEGIN
>
> ' My update statement here
>
> END
>
>END
>
>but i am getting error where there is a [test id] value 12345 - 5 , actually in Data42 table the type of [test id] is nvarchar and in my updating table is varchar , but i think the error is at line 'SET @testvalue = CURSOR FOR
>
>My Error Message 'Conversion failed when converting the varchar value '12345-2' to data type int.'
--sb--