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

نام تاپیک: مشکل با تریگر

  1. #1
    کاربر تازه وارد آواتار night11
    تاریخ عضویت
    اردیبهشت 1384
    پست
    89

    مشکل با تریگر

    سلام
    من دو تا جدول دارم که یکی پدر هست و دیگری فرزند و فیلد هاش به این صورت هست.
    جدول پدر
    CategoryId کلید اصلی
    Price
    و در جدول فرزند فیلد ها به این صورت هست .
    ProductId
    CategoryId کلید خارجی
    Price
    حالا من می خوام یه تریگر بنویسم که بعد از حذف ، اضافه ، ویرایش بیاد کل مبالغی که در یک گروه هست رو جمع بزنه و توی فیلد قیمت جدول پدر قرار بده .
    یعنی اگه ما 10 تا محصول داشتیم که کد گروهش یکی بود بیاد این 10 تا رو مقدار فیلد قیمتش رو جمع کنه و توی فیلد قیمت جدول Category قرار بده.

  2. #2
    کاربر دائمی آواتار aidin300
    تاریخ عضویت
    آذر 1384
    محل زندگی
    Tehran,Iran
    پست
    309
    سلام
    فکر نمی کنم یه همچین کاری با تریگر ممکن باشه چون جدول هنوز در حال ویرایش هست و تریگر جدول رو نمی بینه. بهتره از یک Procedure برای این کار استفاده کنی

  3. #3
    کاربر تازه وارد آواتار night11
    تاریخ عضویت
    اردیبهشت 1384
    پست
    89
    نقل قول نوشته شده توسط aidin300 مشاهده تاپیک
    سلام
    فکر نمی کنم یه همچین کاری با تریگر ممکن باشه چون جدول هنوز در حال ویرایش هست و تریگر جدول رو نمی بینه. بهتره از یک Procedure برای این کار استفاده کنی
    سلام
    ممنون از جوابتون
    من توی اسکیو ال سرور این کار رو براحتی انجام میدم ولی توی اراکل نمی دونم.
    غیر ممکن که فکر نمی کنم باشه.

  4. #4
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    تهران
    پست
    558
    سلام
    به این حالت Mutual Exclusion میگن‏ راه حلش استفاده از یک Package هستش برای نگهدرای اطلاعات مورد نیاز به خواندن از جدول در حال تغییر‏‌‏.
    تو اینترنت دنبال Mutate table در اوراکل بگردید‏‌‏‏‏‏.

  5. #5
    کاربر دائمی آواتار aidin300
    تاریخ عضویت
    آذر 1384
    محل زندگی
    Tehran,Iran
    پست
    309
    برای table mutating مقاله Tom Kyte رو ببین Avoiding Mutating Tables برای شروع خوبه و Mutating Table Exceptions

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

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