بتاريخ: 1 فبراير 201115 سنة comment_208526 سلام شبابفي الصورة ادناه لدي بلوكين ماستر وديتيلز لكن تواجهني مشكلة في عملية التحديثUPDATE للمخزن وهي كالاتي بعد ادخالي للبيانات واقوم بعمل حفظ يتم حفظ الفاتورة كما اريد ولكن بالنسبة للمخزن لدي PROCEDURE يقوم بعمل تحديث للمخزنحسب الاصناف المدخلة ولكن للاسف يقوم بتحديث سجل واحد من عدد السجلات المدخلة ،،، كل الذي اريده منكم اخواني ان ترشدوني للكود المناسبةمع العلم انني استخدمة هذا الكود تقديم بلاغ
بتاريخ: 1 فبراير 201115 سنة comment_208529 السلام عليكم ورحمة الله وبركاتةاخى العزيز انا من وجهة نظرى المتواضع ان تقوم بأستخدام Data Base Triggerوهذا سوف يوفر عليك الكثير والكثير اخى فى اللهوانا تحت امرك فى اى حاجة اخى فى الله تقديم بلاغ
بتاريخ: 2 فبراير 201115 سنة comment_208537 أخي الكريم ممكن تغير طريقة الكود وتضع هذا التغيير في حدث post_update (لان هذا الحدث ينطلق على مستوى الريكور يعني لو معاك سجلين وعدلت عليهم سينطلق مرتينعلى مستوى البلك . تقديم بلاغ
بتاريخ: 2 فبراير 201115 سنة كاتب الموضوع comment_208540 السلام عليكم ورحمة الله وبركاتةاخى العزيز انا من وجهة نظرى المتواضع ان تقوم بأستخدام Data Base Triggerوهذا سوف يوفر عليك الكثير والكثير اخى فى اللهوانا تحت امرك فى اى حاجة اخى فى الله السلام عليكم ورحمة الله وبركاتةمشكور اخي راميحاولت فعلا اعمل هذه الموضوع لكن لم استطيع ارجو ان تساعدني في كتابةالتريجر من خلال البروسيدر اعلاهمع تحياتيطيب من خ تقديم بلاغ
بتاريخ: 2 فبراير 201115 سنة كاتب الموضوع comment_208544 الاخ رامي قمت بعمل تريجر علي قاعدة البيانات في الصورة ادناه ولكن بعد عمل ادخال البيانات يظهر لي هذا الخطاْORA-04098: trigger 'ALBAIT.STK_IN' is invalid and failed re-validation تقديم بلاغ
بتاريخ: 2 فبراير 201115 سنة comment_208545 اخى الكريم كما هو واضح من الصورة ان هناك اخطاء فى Syntax مثل old لا يوجد قبلها : وكلمة Begin لا يوجد فاصل بينها وبين If تقديم بلاغ
بتاريخ: 2 فبراير 201115 سنة كاتب الموضوع comment_208549 اخى الكريم كما هو واضح من الصورة ان هناك اخطاء فى Syntax مثل old لا يوجد قبلها : وكلمة Begin لا يوجد فاصل بينها وبين If اخي الكريملوجود هذه الاخطاء اتمنى منكم المساعدةمع العلم انني عدلت الاخطاء السابقة تقديم بلاغ
بتاريخ: 2 فبراير 201115 سنة comment_208556 السلام عليكم ورحمة الله وبركاته الـ trigger التالي يقوم بتعديل الكمية عند الإدخال وعند الحذف وعند التعديل في الفاتورة : create or replace trigger invd_1 before insert or delete or update of qty on invd for each row begin if inserting then update product set qty = product.qty - :new.qty where product.prod_name = :new.prod_name ; elsif deleting then update product set qty = product.qty + :old.qty where product.prod_name = :old.prod_name ; else update product set qty = product.qty - ( :new.qty - :old.qty ) where product.prod_name = :new.prod_name ; end if ; end ; جزاك الله كل خير تقديم بلاغ
بتاريخ: 2 فبراير 201115 سنة كاتب الموضوع comment_208565 السلام عليكم ورحمة الله وبركاته الـ trigger التالي يقوم بتعديل الكمية عند الإدخال وعند الحذف وعند التعديل في الفاتورة :create or replace trigger invd_1 before insert or delete or update of qty on invd for each row begin if inserting then update product set qty = product.qty - :new.qty where product.prod_name = :new.prod_name ; elsif deleting then update product set qty = product.qty + :old.qty where product.prod_name = :old.prod_name ; else update product set qty = product.qty - ( :new.qty - :old.qty ) where product.prod_name = :new.prod_name ; end if ; end ; جزاك الله كل خير شكرا اخي الكريمتحت التجربة تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.