Problem with SELECT in cursor

Dear Experts,

I'm having problems with a SELECT statement within a cursor:

This line:  SELECT @deletable = [delete] FROM @tblMain WHERE ID = @ID  returns the same value each time, usually the last record.

Can you use select within a cursor in this way or is there a better way to do it?

Thanks

NIck
DECLARE crsPhrase3 CURSOR FOR
		SELECT ID
		FROM @tblMain WHERE Processed=0
		OPEN crsPhrase3
 
		FETCH NEXT FROM crsPhrase3 INTO @ID
 
			WHILE @@FETCH_STATUS = 0
			BEGIN      --crsPhrase3
 
			SELECT @deletable = [delete] FROM @tblMain WHERE ID = @ID
     IF @deletable .......

Open in new window

LVL 1
nkewneyAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
momi_sabagConnect With a Mentor Commented:
you can't have the table name inside a variable
you will have to use dynamic sql
0
 
nkewneyAuthor Commented:
Hi there,

Thanks for the response.

It exhibits exactly the same behaviour in the following example also.

Nick

		DECLARE crsLeaderboard CURSOR FOR
		SELECT Username
		FROM Users
		OPEN crsLeaderboard
 
		FETCH NEXT FROM crsLeaderboard INTO @un
 
			declare @name varchar(255)
			select @name = Person_nameFirst + ' ' + Person_nameLast FROM Users where Username = @un

Open in new window

0
 
momi_sabagCommented:
what is the problem with this code?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.