PDA

View Full Version : پیمایش تعداد سطرها دلخواه



ahoola
پنج شنبه 16 اسفند 1386, 08:26 صبح
سلام
می خوام از یک جدول هر بار که ps ی رو اجرا می کنم تعداد معینی از رکورد هارو بر گردونه مثلا 20 تا .یعنی هر بار که دستورات انجام می شه به صورت 20تا 20تا رکورد ها پیمایش بشن .از select top و rowcount استفاده کردم ولی اونها فقط 20 سطر اول رو بر می گردونن
می تونید کمکم کنید. :لبخند::لبخند::لبخند:البته نمی خوام روی فیلدی شرط بزارم .:متفکر::متفکر:

Elham_gh
پنج شنبه 16 اسفند 1386, 08:42 صبح
باید شرط بذارید:


CREATE PROCEDURE spPaging
@StartRow INT
AS
BEGIN
ALTER TABLE tbl1 add rowid int identity(1,1)

SELECT *
FROM tbl1
WHERE rowid BETWEEN @StartRow AND @StartRow+20

ALTER TABLE tbl1 DROP COLUMN rowid
END
GO

AminSobati
پنج شنبه 16 اسفند 1386, 09:26 صبح
ALTER TABLE tbl1 add rowid int identity(1,1)
....
ALTER TABLE tbl1 DROP COLUMN rowid


تغییر ساختار جدول در هر بار فراخوانی SP رو توصیه نمیکنم. اولا در بعضی حالتها محدودیت وجود داره، فرضا زمانی که جدول تحت Replication هست. ثانیا به دلیل قرار گرفتن Schema Lock روی جدول، وقتی SP توسط کسی فراخوانی شده، کاربران دیگه ای که با جدول کار دارند Block میشن. تصور کنید اگر جدول بزرگ باشه چقدر ممکنه زمان ببره.

این لینک رو برای Paging ببینید:
http://databases.aspfaq.com/database/how-do-i-page-through-a-recordset.html