View Full Version : مقایسه مقادیر 2 رکورد ...
Hamid_PaK
پنج شنبه 03 خرداد 1386, 19:31 عصر
یک بانک داریم که حاوی حدودا 60 تا فیلد از نوع رشته و عدد است ...
من نیاز به یک کوئری دارم که با مقایسه دو رکورد متفاوت تنها فیلدهایی که تغییر کرده اند را پیدا کنیم ؟؟؟
بطور مثال 2 رکورد داریم که مقادیر فیلدهای آنها یکسان است ، کاربر فید شماره 28 را تغییر می دهد .. ما نمی دانیم کدامیک از فیلدها تغییر کرده و بعد از مقایسه ، فیلد تغییر یافته که همان 28 است را میابیم ...
البته برای من سرعت بسیار اهمیت دارد ، چرا که بانک من حاوی حدودا 12000 رکورد است و با مقایسه معمولی نمی توانم در مدت زمان کوتاهی همه ی رکورد ها را با هم مقایسه کنم !!!
با تشکر ، یا حق ...
SYNDROME
پنج شنبه 03 خرداد 1386, 20:13 عصر
با سلام
چطوری حمید جان.
تو خودت گفتی فیلدها را مقایسه می کنم و رکورد را پیدا می کنم.
مشکل کجاست؟بیشتر توضیح بده.
Hamid_PaK
پنج شنبه 03 خرداد 1386, 20:35 عصر
تو چطوری علی جون ...
ببین من برای اینکه ببینم کدامیک از مقادیر فیلدهای رکورد دومی به نسبت اولی تغییر کرده از یک حلقه استفاده می کنم !!!
این کار بسیار سرعت عمل رو توی 12000 تا رکورد پایین می آره !!!
مطمئنم راه حل منطقی تری با استفاده از یک کوئری اسکیوال داشته باشه ...
با تشکر ، یا حق ...
SYNDROME
پنج شنبه 03 خرداد 1386, 22:13 عصر
با سلام
حمید جان اگر از SQLServer استفاده می کنی در قسمت جستجو کلمه "Inserted" یا
"Deleted" جستجو کن.
روشی که بعد از جستجو می بینی برای این است که هنگامی که ویرایش در SQL انجام می شود و با توجه به امکاناتی که شما اضافه می کنید دیگر نیاز نیست دونبال تغییرات بگردید چون همه تغییرات در برنامه را خود SQLServer ثبت می کند.
(البته من خودم با دستورات SQLیک روش پیدا کردم ولی بهتر است از روش بالا استفاده کنی.
بهر حال اگر خواستی بگو اون روش رو هم برات بفرستم)
Hamid_PaK
جمعه 04 خرداد 1386, 04:17 صبح
زحمت روش رو بکش علی جون چون من دارم با ADO Query و یک بانک اکسس کار می کنم .
با تشکر ، یا حق ...
SYNDROME
جمعه 04 خرداد 1386, 07:18 صبح
ب سلام
زحمت روش رو بکش علی جون چون من دارم با ADO Query و یک بانک اکسس کار می کنم .
با تشکر ، یا حق ...
چرا خودت مثل SQLServer لیست تغییرات را ذخیره نمی کنی.
زمانی که دوتا رکورد را Fetch می کنی وبعد از ذخیره آنها را به هم چک کن و سپس لیست تغییرات را ذخیره کن (در یک Table دیگر)و زمانی که نیاز داشتی شماره رکورد و فیلد تغییر کرده را داری.(خیلی هم سریع است)
درست هر باری که تو اطلاعات را ذخیره می کنی باید دونه دونه چک کنی و مدت زمانی کم از تو می گیری ولی در زمان مقایسه دیگر نیاز نیست اطلاعات را چک کنی زیر Table مربوط به تغییرات همه چیز را نشان می دهد.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.