PDA

View Full Version : مدیریت چند دستور وابسته



mehrdad2002p
سه شنبه 30 مرداد 1386, 23:56 عصر
سلام
اگر اسمی که برای عنوان گذاشتم جالب نیست شرمنده هر چی فکر کردم چیز بهتری پیدا نکردم
دوستان من زیلد در SQL وارد نیستم اما شاید سوالم کمی حرفه ای باشد
مثلا شما فرض کنید دو تیبل دارید که قرار است اطلاعات از یکی حذف گردد و به یکی دیگر اضافه گردد
و این موضوع اهمیت دارد که هیچ زمانی این اتفاق کامل صورت ندهد
مثلا یک مرتبه وقتی یکی اطلاعات قبل از اینکه به دیتا بیس دیگر اضافه گردد از دیتا بیس اول پاک می شود در همین موقع برق می رود و این اطلاعات از دست می رود
من کلا این مثال را زدم یکی از دوستان گفتند از ترانس اکشن باید استفاده کرد
اگر امکان دارد من را در این مورد راهنمایی کنید!!!
خدانگهدار

reza_optical
چهارشنبه 31 مرداد 1386, 00:55 صبح
دوست عزیز
ترانس اکشن که یکی از خاصیتای conection شما است که به شما این امکان رو مید تا تراکنشهای دیتا بیس را کنترل کنید یعنی اگر شما از این خاصیت استفاده کنید اون وقت 2 نتیجه دارد یا commit می شود (ok) یا Rollback یعنی در دیتا بیس اعمال نمی شود

Hamid.Kad
چهارشنبه 31 مرداد 1386, 08:07 صبح
مهرداد جان. دستور BEGIN TRANSACTION رو توی help ببینید خیلی کمکتون میکنه.

Kamyar.Kimiyabeigi
چهارشنبه 31 مرداد 1386, 08:09 صبح
BEGIN TRANSACTION MyName
INSERT INTO TestAudit
SELECT * FROM inserted
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION MyName
END
ELSE
BEGIN
COMMIT TRANSACTION MyName
END