I am working on a procedure that involves me using the TOP keyword in a select statement. I need it to be based on the loop within the procedure. I have a counter that I need to use:

SELECT TOP @ctr + 1 FROM TBL WHERE X = Y

I have tried the above syntax and it does not seem to work.
Is the syntax incorrect or is this not even possible? If not, is there another way to accomplish the same thing?

Thanks...