View Full Version : جا به جا شدن رکوردها با اضافه شدن رکورد جدید
shahab_ksh
دوشنبه 01 مهر 1387, 19:15 عصر
با سلام
فرض کنید یک جدول دارم با 10 رکورد که آخرین تاریخ ورود رو برام نگه میداره
حالا فرض کنید برای مرتبطه 11 هم وارد شدم چطور میتونم کاری کنم که اولین رکورد بشه
همین آخرین ورود و به ترتیب هر رکورد پایین تر بره و آخرین رکورد هم که طبعا حذف میشه
یعنی هر رکورد یک رکورد پایین تر میاد
رضا عربلو
دوشنبه 01 مهر 1387, 21:37 عصر
در کونری ات از order by ... desc استفاده کن.
shahab_ksh
دوشنبه 01 مهر 1387, 22:16 عصر
متوجه نشدید مشکل من فهرست کردن نیست یک بار دیگه بخونید
رضا عربلو
دوشنبه 01 مهر 1387, 22:38 عصر
خوب چرا می خواهی بیاد اول جدولت.
هنگامیکه یک رکورد را INSERT کردی چک کن (در SPی که عمل درج را انجام می دهد و یا با استفاده از TRIGER) ببین آیا تعدار رکورد ها بشتر از 10 می شود یا نه. در صورت جواب مثبت اولین رکوردت را حذف کن.
مثلاً جدول Events با فیلدهای EventID (از نوع اتونامبر و PK) و ... در نضر بگیر . استور پروسیجر درج ات را بصورت زیر می توانی بنویسی:
INSERT Events .......;
DECLARE @c INT;
SELECT @c=COUNT(*) FROM Events;
IF @c>10
BEGIN
DECLARE @e INT;
SELECT TOP(1) @e=EventID FROM Events ORDER BY EventID;
DELETE Events WHERE EventId=@e
END
shahab_ksh
دوشنبه 01 مهر 1387, 22:53 عصر
نمی دونم شاید خوب توضیح ندادم اول و آخر بودنش که مجازی و این مهم نیست ببین میخام این رو پیاده سازی کنم
تیبلی رو به نام tbl_ip در نظر بگیرد که من می خام فقط 10 آی پی آخر بازدید رو تو خودش نگه داره
حالا باید چیکار کنم ؟!
یعنی اگه آلان یک نفر وارد شد باید Ip ثبت بشه یعنی مثلا جای (اول یا آخر) باید و هر کدام از اون رکورد ها جاشونو به آیپی قبلی بدن و یکی از (اول یا آخر) حذف میشه
مثل صفی که آدم ها وای مسین صف ده نفری با ده صندلی رو در نظر بگیرید یکی میاد اول صف پر هر کدام از افراد یک صندلی به عقب میرن و نفر آخر خارج میشه حال شما هر صندلی رو یک رکورد و هر فرد رو یک IP در نظر بگیرید امیدوارم خوب توضیح داده باشم
توی کد بالای شما اشاره ای به جابه جا شدن رکورد ها نشده
shahab_ksh
سه شنبه 02 مهر 1387, 09:07 صبح
مرسی گرفتم چی شد
کم حوصله
سه شنبه 02 مهر 1387, 15:00 عصر
سلام
Select Top 10 * From T1 Order By Id Desc
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.