امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 4
  • 1
  • 2
  • 3
  • 4
  • 5
ROLLBACK
نویسنده پیام
The.Ghost غایب
مدیر بازنشسته
*****

ارسال‌ها: 461
موضوع‌ها: 201
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #1
Question  ROLLBACK
سلام
من دو تا جدول در Sql Server تعریف کردم.
جدول اول یک سری اطلاعات کاربر وارد میکنه و ذخیره میزنه، بعد جدول دوم منصرف میشه وارد کنه -> بعد می خواهم اگه همچین اتفاقی افتاد اطلاعات جدول اول هم ذخیره نکنه و به اصطلاح عمل ROLLBACK انجام بده ولی نمیشه.

من دو تا Stored Procedures با تراکنش برای درج برای هر یک از جدول ها در نظر گرفتم و نوشتم. حالا چطوری میتونم اطلاعات جدول اول که کاربر وارد کنه بی اثر کنم؟؟؟

برنامه هم به این صورت کار میکنه که اول اطلاعات جدول اول باید وارد کنه بعد که ذخیره زد اطلاعات جدول دوم باید وارد کنه و اگه نخواست وارد کنه اون اطلاعاتی که در جدول اول نوشته هم ذخیره نشه؟؟؟؟

این یکی از کد های ذخیره اطاعات در جدول که نوشتم.


کد:
USE [Company]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[AddMasafatCity](@Mabda nvarchar(100), @Maghsad nvarchar(100), @Kilometer int) AS
Begin
 Begin Try
   BEGIN TRANSACTION
          INSERT INTO TMasafatCity
              (
                MMabda, MMaghsad, MKilometer
              )
          VALUES
              (
                @Mabda, @Maghsad, @Kilometer
              )
          COMMIT
 End Try
 Begin CATCH
   IF @@TRANCOUNT > 0
     ROLLBACK
 End CATCH
End

لطفا دوستان راهنمایی کنید با تشکر فراوان

Assembly Language 039

(آخرین ویرایش در این ارسال: ۱۲-مهر-۱۳۹۶, ۲۳:۳۵:۱۴، توسط The.Ghost.)
۱۲-مهر-۱۳۹۶, ۲۳:۲۹:۱۴
ارسال‌ها
پاسخ
Ghoghnus آفلاین
مدیر بخش
*****

ارسال‌ها: 1,497
موضوع‌ها: 270
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1652
( 3938 تشکر در 1453 ارسال )
ارسال: #2
RE: ROLLBACK
سلام
به نظر من اول هر مرحله را داخل متغییر نگه دار وقتی اخرین مرحله را وارد کرد و ثبت زد باهم درج کن!

[تصویر:  a.jpg]

باور کنیم
همانگونه که در غیبت مقصریم در ظهور موثریم!
نیستیم؟

زیر شمشیر غمش رقص کنان باید رفت #  کان که شد کُشته ی او نیک سرانجام افتاد



 چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
۱۳-مهر-۱۳۹۶, ۰۰:۰۵:۱۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : The.Ghost, babyy
The.Ghost غایب
مدیر بازنشسته
*****

ارسال‌ها: 461
موضوع‌ها: 201
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #3
RE: ROLLBACK
(۱۳-مهر-۱۳۹۶, ۰۰:۰۵:۱۲)Ghoghnus نوشته است: سلام
به نظر من اول هر مرحله را داخل متغییر نگه دار وقتی اخرین مرحله را وارد کرد و ثبت زد باهم درج کن!

نمیشه چون تعداد ذخیره اطلاعات در جدول اول خیلی بالاست

Assembly Language 039

۱۳-مهر-۱۳۹۶, ۰۰:۱۳:۲۴
ارسال‌ها
پاسخ
Ghoghnus آفلاین
مدیر بخش
*****

ارسال‌ها: 1,497
موضوع‌ها: 270
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1652
( 3938 تشکر در 1453 ارسال )
ارسال: #4
RE: ROLLBACK
اگر انصراف زد دلیت کن :)
تاریخ بزار اگر تا فلان زمان اطلاعات کامل نشده اطلاعات این جدول را هم حذف کن

[تصویر:  a.jpg]

باور کنیم
همانگونه که در غیبت مقصریم در ظهور موثریم!
نیستیم؟

زیر شمشیر غمش رقص کنان باید رفت #  کان که شد کُشته ی او نیک سرانجام افتاد



 چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
۱۳-مهر-۱۳۹۶, ۰۱:۴۸:۵۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, Di Di
The.Ghost غایب
مدیر بازنشسته
*****

ارسال‌ها: 461
موضوع‌ها: 201
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #5
RE: ROLLBACK
(۱۳-مهر-۱۳۹۶, ۰۱:۴۸:۵۱)Ghoghnus نوشته است: اگر انصراف زد دلیت کن :)
تاریخ بزار اگر تا فلان زمان اطلاعات کامل نشده اطلاعات این جدول را هم حذف کن

نمیشه چون اگه وسط پاک کردن برق ها بره و کامل پاک نشه مشکل ایجاد میکند.

Assembly Language 039

۱۳-مهر-۱۳۹۶, ۰۹:۲۷:۵۰
ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #6
RE: ROLLBACK
سلام
يه جاب تعريف كن كه اطلاعات اضافي رو هر شب ساعت 12 از روي سرور حذف كنه

۱۹-مهر-۱۳۹۶, ۱۰:۱۳:۳۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, Ghoghnus
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #7
RE: ROLLBACK
تراکنش رو داخل SP قرار ندید اگه نیاز هست قرار بدید یک متغییر اضافه برای SP تعریف کنید که اگه true بود تراکنش داخل SP اجرا بشه اگه نبود نشه
حالا میتونین برای اجرای 2 تا SP از یک تراکنش قبل از اجرای 2 تا SP استفاده کنید

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۱۹-مهر-۱۳۹۶, ۱۰:۳۰:۵۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Di Di, babyy, Ghoghnus
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #8
RE: ROLLBACK
سلام
چطوري مبين جان؟ خنده بلد − بهینه شده برای ورژن جدید 

مشتاق ديداريم آقا ... قلب عشق - بهینه شده برای ورژن جدید 


روشي كه گفتي خوبه ها ولي اگر در ثبت اطلاعات جدول دوم يا نمايش اطلاعات در فرم مربوطه لازم باشه كه اطلاعات جدول اول رو نمايش بدن ( كه احتمال چنين چيزي زياد هم هست ) مشكل خواهند خورد

017

۱۹-مهر-۱۳۹۶, ۱۱:۵۳:۵۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS