PDA

View Full Version : مشکل با تریگر



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

aidin300
شنبه 24 شهریور 1386, 20:37 عصر
سلام
فکر نمی کنم یه همچین کاری با تریگر ممکن باشه چون جدول هنوز در حال ویرایش هست و تریگر جدول رو نمی بینه. بهتره از یک Procedure برای این کار استفاده کنی

night11
یک شنبه 25 شهریور 1386, 09:20 صبح
سلام
فکر نمی کنم یه همچین کاری با تریگر ممکن باشه چون جدول هنوز در حال ویرایش هست و تریگر جدول رو نمی بینه. بهتره از یک Procedure برای این کار استفاده کنی

سلام
ممنون از جوابتون
من توی اسکیو ال سرور این کار رو براحتی انجام میدم ولی توی اراکل نمی دونم.
غیر ممکن که فکر نمی کنم باشه.

majid_afra222
یک شنبه 25 شهریور 1386, 14:51 عصر
سلام
به این حالت Mutual Exclusion میگن‏ راه حلش استفاده از یک Package هستش برای نگهدرای اطلاعات مورد نیاز به خواندن از جدول در حال تغییر‏‌‏.
تو اینترنت دنبال Mutate table در اوراکل بگردید‏‌‏‏‏‏.

aidin300
یک شنبه 25 شهریور 1386, 18:02 عصر
برای table mutating مقاله Tom Kyte رو ببین Avoiding Mutating Tables (http://asktom.oracle.com/tkyte/Mutate/index.html) برای شروع خوبه و Mutating Table Exceptions (http://www.oracle-base.com/articles/9i/MutatingTableExceptions.php)