PDA

View Full Version : commit در sql server



mandagarana
سه شنبه 27 فروردین 1398, 15:28 عصر
با سلام
در مورد commit و rollback چندین مطلب خوندم.ولی در نهایت نفهمیدم کارایی و دلیل استفاده و نحوه استفادش چطوریه
ممنون میشم کسی یه آموزشی هرچند کوتاه بده

farhad_shiri_ex
چهارشنبه 28 فروردین 1398, 10:44 صبح
تصور کنید باید یکسری رکورد مهم را درون دیتابیس ذخیره کنید ویا به روز آوری کنید. حالا اگر به هردلیلی در زمان انجام به روز آوری رکوردها موفق به تکمیل عملیات نشده باشید چه اتفاقی رخ خواهد داد؟
ویا تصور کنید باید عملیات به روزآوری رکورد ها در دیتابیس را تضمین کنید که حتما این عملیاتها با موفقیت انجام شده اند؟
بنابراین برای اینکه بتوانید این مشکلات را رفع کنید باید حتما از تکنیک های Transaction , Commit Rollback استفاده کنید.
خیلی ساده بخوام توضیح بدم...
کافی که عملیاتی که بر روی رکورد ها می خواهید انجام بدهید را در یک Transaction ثبت کنید و چک کنید که عملیات به روز آوری رکورد ها با موفقیت انجام شد، سپس برای بستن عملیات Transaction کافی که Commit کنید ودر صورتی که عملیات مورد نظر موفق نبود، کافی که Rollback را انجام بدید تا داده هایی هم تازمان رخدادن خطا ثبت شده اند حذف شوند.
بهترین روش درک این پروسه بهتره که خودتون یک مثال انجام بدید و تغییرات را بعد از انجام عملیات تراکنش ها مشاهده کنید به سادگی درک خواهید کرد

nadia92
پنج شنبه 29 فروردین 1398, 10:12 صبح
باتشکر از دوست عزیزمون که جواب دادن

مثالی دیگر میتونم تراکنش کارت بکارت رو براتون بگم
فرض کنید دارید کارت بکارت میکنید, مبلغ از حساب شما کسر شد تا بحساب کارت مقصد واریز بشه برقا میره (فرض کنید UPS نداریم)
اینجا مفهوم Transaction معنی پیدا میکنه.