نمایش نتایج 1 تا 9 از 9

نام تاپیک: یک ابهام در مورد Trigger

  1. #1
    کاربر دائمی آواتار MShirzadi
    تاریخ عضویت
    آذر 1385
    محل زندگی
    تهران
    پست
    325

    یک ابهام در مورد Trigger

    وقتی ما یک TRIGGER روی یک Table می نویسیم که زمانی که این جدول Update شد این Trigger اجرا شود
    حالا اگر ما با این Trigger یک رکورد در همین Table قرار بدهیم چرا این Trigger حلقه بینهایت نمی شود؟؟؟

  2. #2
    کاربر دائمی آواتار Mohammad_Mnt
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    جنگلی به نام ایران
    سن
    41
    پست
    1,875
    فکر نمی کنم اجازه ی همچین کاری را توی تریگر داشته باشین

  3. #3
    کاربر دائمی آواتار MShirzadi
    تاریخ عضویت
    آذر 1385
    محل زندگی
    تهران
    پست
    325
    ولی من این کار رو کردم اما حلقه بینهایتی هم رخ نداده

  4. #4
    کاربر دائمی آواتار Microsoft.net
    تاریخ عضویت
    آبان 1382
    محل زندگی
    مشهد
    پست
    584
    دلیلش اینه که در SQL تنظیمی وجود داره که از fire شدن یک trriger توسط trriger جلوگیری به عمل می آید و به صورت default به صورت false است

  5. #5
    دوست عزیزم،
    Triggerها و SPها میتونن حداکثر 32 مرحله Nest یا تو-در-تو بشن. ولی باید این قابلیت رو فعال کنین:
    ALTER DATABASE [Northwind] SET RECURSIVE_TRIGGERS ON

  6. #6
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629
    نقل قول نوشته شده توسط MShirzadi مشاهده تاپیک
    وقتی ما یک TRIGGER روی یک Table می نویسیم که زمانی که این جدول Update شد این Trigger اجرا شود
    حالا اگر ما با این Trigger یک رکورد در همین Table قرار بدهیم چرا این Trigger حلقه بینهایت نمی شود؟؟؟
    با سلام
    خیلى ساده هست Trigger شما روى Update هست و عمل شما یک Insert پس دلیلى براى اجرا سدن دوباره‌ى Trigger وجود ندارد.
    اگر Trigger شما به عمل Insert حساس باشد تا تعداد مشخصى که SQL اجازه مى‌دهد این Trigger به صورت تودرتو اجرا خواهد شد. اگر اشتباه نکرده باشم تعداد پیش‌فرض براى حداکثر فراخوانى تودرتوى Trigger باید 32 تا باشد که البته قابل تغییر هست.

    صبا صبوحى

  7. #7
    کاربر دائمی آواتار MShirzadi
    تاریخ عضویت
    آذر 1385
    محل زندگی
    تهران
    پست
    325
    خوب حالا ما چطو می تونیم مقدار 32 تا رو تغییر بدیم
    البته از توجه شما تا حالا خیلی خیلی ممنونم

  8. #8
    تو-در-تو شدن Triggerها رو میشه فعال یا غیر فعال کرد. من دستوری نمیشناسم برای تغییر عدد 32

  9. #9
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629
    نقل قول نوشته شده توسط AminSobati مشاهده تاپیک
    تو-در-تو شدن Triggerها رو میشه فعال یا غیر فعال کرد. من دستوری نمیشناسم برای تغییر عدد 32
    با سلام
    شاید من اشتباه کرده باشم. به نظرم مى‌رسه که یه جایى امکان تغییر این تعداد رو دیده باشم. نگاه مى‌کنم اگه پیدا کردم اینجا مطرح مى‌کنم.

    صبا صبوحى

تاپیک های مشابه

  1. ایجاد یک تریگر(trigger)
    نوشته شده توسط am_sanatiz در بخش T-SQL
    پاسخ: 7
    آخرین پست: شنبه 06 فروردین 1390, 16:50 عصر
  2. trigger
    نوشته شده توسط رضا ارزانی در بخش SQL Server
    پاسخ: 2
    آخرین پست: شنبه 08 اردیبهشت 1386, 22:29 عصر
  3. منبع کامل برای trigger
    نوشته شده توسط محسن بابائی در بخش SQL Server
    پاسخ: 3
    آخرین پست: چهارشنبه 01 آذر 1385, 10:43 صبح
  4. پاسخ: 1
    آخرین پست: شنبه 11 شهریور 1385, 13:37 عصر
  5. Trigger
    نوشته شده توسط mehdi58 در بخش SQL Server
    پاسخ: 5
    آخرین پست: شنبه 14 مرداد 1385, 08:31 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •