با تشکر از حمید KAD
من قبل از اینکه این تاپیک رو مطرح کنم ، تاپیک های قبلی رو جستجو کرده بودم. ولی عجیبه که این تاپیک رو ندیده بودم !!!
مشکل من به کمک این تاپیک و کمی بررسی بیشتر در این زمینه حل شد.
کدی که برای حل مشکلم نوشتم اینجوریه:
CREATE PROCEDURE prcSelectPage
@page int
AS
select IDENTITY(int,1,1) as rowNum,* into tblNew
from tblOld
select * from tbNew where rowNum between (10*@page+1) and (10*@page+10)
drop table tbNew
GO
کار تابع Identity اینه که یک شناسه برای هر ردیف ایجاد میکنه. پارامتر اول نوع شناسه - پارامتر دوم مقداری هست که باید به اولین ردیف داده شود و آخرین پارامتر مقدار افزایش را مشخص میکند.
از miladr هم ممنون. اگه میشه یکم درباره کدتون توضیح بدید. بعضی از قسمتهاش برام نا آشنا هست. مثل RowCount و NoCount .