View Full Version : ویرایش یک فیلد و تاثیر همزمان آن بر روی همان فیلد در باقی تیبها
Sal_64
یک شنبه 01 مرداد 1391, 11:07 صبح
سلام .سوال: فیلد A از تیبل 1 ویرایش می شود حال باید همان فیلد A در تیبل های 2 و 3 هم ویرایش شوند. آپدیت همزمان در تالار جستجو کردم . تریگر پیشنهاد داده بودن .بانک روی شبکست (برنامه تحت ویندوز) آیا تریگر می تواند بصورت تراکنش عمل کند یعنی یا همه تیبلها تغییر کنند یا هیچکدام . در ضمن بین تیبلها هیچ رابطه ای برقرار نکردم .آیا با برقرای رابطه و تنها ویرایش فیلد A در تیبل 1 بصورت خودبه خود تیبلهای 2 و 3 هم ویرایش می شوند؟؟ تشکر
حمیدرضاصادقیان
یک شنبه 01 مرداد 1391, 11:14 صبح
سلام.
اگر به صورت pk-Fk ارتباط رو برقرار کنید و گزینه Cascade Update رو انتخاب کنید بله با تغییر فیلد a فیلد مربوط در جداول 2و3 نیز بروز خواهند شد.
همچنین شما میتونید از تریگر استفاده کنید روی جدول 1 به صورتی که وقتی Update انجام شد تغییرات در جداول 2و3 اعمال بشه. که البته Relation نیز همینکارو میکنه.
البته اگر از نسخه 2008 استفاده میکنید میتونید از دستور Merge نیز به جای Update استفاده کنید.
baktash.n81@gmail.com
دوشنبه 02 مرداد 1391, 08:27 صبح
می تونید برای Update از یک sp استفاده کنید که داخلش یک transaction وجود خواهد داشت .... که کار Update رو روی تمام جداول انجام بده
حمیدرضاصادقیان
دوشنبه 02 مرداد 1391, 12:53 عصر
داخلش یک transaction وجود خواهد داشت
با این طریق اگر حجم Update زیاد باشه اون جداول به کلی Lock میشه و برای کاربرای دیگه دچار دردسر میکنه.
اگر از Merge استفاده کنید یک حالت ترکیبی بهتون میده که میتونید رکوردهای متناظر رو نیز Update کنید.اگر هم امکان استفاده از Relation رو دارید که شخصا اونو پیشنهاد میکنم چون مانند تریگر عمل میکنه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.