ورود

View Full Version : اشکال در data baseهنگام قطع اینترنت؟



m_u3fi
شنبه 17 فروردین 1387, 11:54 صبح
دربرنامه تحت وب با یک دیتا بیس که در آن از ارث بری استفاده شده یا نیاز به ورود اطلاعات در چند جدول به کرد).join دو جدول را نمی توان insert طور همزمان داریم ( با توجه به این نکته که در

اگر پس از ورود اطلاعات در جدول اول و هنگام ورود اطلاعات در جدول دوم اینترنت قطع شده ، در این حالت درجدول پدر اطلاعات وارد شده ولی در جدول فرزند هنوز اطلاعاتی ننشسته . چون همزمان باید جداول پر شود این اطلاعات بیهوده در پایگاه داده ما نشسته است، و دوباره که ورود اطلاعات می کنیم جدول پدر دوباره پر میشود و اینجوری خیلی سطر های بیهوده داریم . برای حل این مشکل چه باید کرد ؟(که وقتی اطلاعات در حتی یکی از جداول ننشسته در بقیه جداول نیز ننشیند) چگونه می توان فهماند که چون در جدول فرزند ورود اطلاعات نداشتیم سطر مورد نظر از جدول پدر نیز حذف شود ؟

night_walker
شنبه 17 فروردین 1387, 13:47 عصر
شما باید از تراکنش(Transaction) استفاده کنید. در این صورت اگر قبل از اجرای دستور مشکلی در دستور پیش آید کل عملیات لغو شده می ماند.
Begin tran myTran
Update Table1 set name=value
UPdate table2 set name=value
Commit myTran
در صورتی که مشکلی پیش بیاد میتوانید از Rollback استفاده کنید.

AminSobati
یک شنبه 18 فروردین 1387, 14:14 عصر
این نکته رو اضافه میکنم که حتی اگر بصورت مشخص شما دستور Commit رو صادر نکنید و قبل از خاتمه کد شما مشکلی پیش بیاد، SQL Server فرض رو بر Rollback قرار میده