PDA

View Full Version : به دست آوردن آخرین رکورد



حرفه ای
پنج شنبه 23 شهریور 1385, 19:05 عصر
یک فیلد یکتا تحت Sql Server دارم که به صورت Auto Number عمل کرده و در هر ثبت یک آخرین شماره را به هر فرد واگذار می کند
این برنامه تحت شبکه بوده و من با استفاده از Query

(SELECT MAX(Field1) FROM TAble1=SELECT Field1+1 FROM Table1 Where Field1
این کار را انجام می دهد که کاری زمانبر بوده و ترافیک شبکه را بالا می برد
آیا یکی از دوستان راه حل بهتری برای این کار دارد ؟

m-khorsandi
پنج شنبه 23 شهریور 1385, 23:43 عصر
بلاخره از خاصیت Auto Number استفاده میکنید یا از این کوئری(فرضا"!) استفاده میکنید؟

اگه از خاصیت IDENTITY استفاده میکنی که نباید مشکلی وجود داشته باشه، غیر از این کدت
رو به شکل زیر تغییر بده:



Select ISNULL(Max(Field_1) + 1, 1)
From t2

حرفه ای
یک شنبه 26 شهریور 1385, 19:03 عصر
در بحث شبکه و Transation خواصیت Auto Number جوابگو نیست و ارسال Query زمانبر و باعث ترافیک شبکه می گردد


آیا دوستان راه حل بهتری دارند ؟

رها
سه شنبه 28 شهریور 1385, 18:59 عصر
چرا از stored procedure استفاده نمی کنی
فقط کافیه پارامترهای لازم رو به سرور بفرستی query توی sql server می مونه.

حرفه ای
چهارشنبه 29 شهریور 1385, 09:08 صبح
با تشکر
Store Procedure درسته Query را در حافظه بانک اطلاعاتی نگه می داره و از Parss کردن Query خودداری می کنه اما بیشتر به درد زمانی می خوره که نتیجه Query برای اکثر افراد یکسان باشه

حمیدرضاصادقیان
چهارشنبه 29 شهریور 1385, 09:28 صبح
شما مگه نمیخوای که آخرین رکورد رو برات برگردونه.به نظر من هم بهترین راه حل همون sp هست. یا میتونی یک function ایجاد کنی که فقط مقدار آخرین رکورد رو برگردونه.