بتاريخ: 8 فبراير 201115 سنة comment_208916 قمت بعمل trigger ولكن للاسف لا يعمل لانه معتمد علي View ولكن عند استبدال اسم الـ view بجدول يعمل بدون مشاكلفهل لا يجوز التعامل مع لـ view في الـ triggerوهذا هو الـ trigger--------------------------------------------------------------------------------------- CREATE OR REPLACE TRIGGER INV.SS_I_QUN AFTER UPDATE ON INV.SALES_DETAIL REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW DECLARE n number; p_id_inv NUMBER; BEGIN SELECT id_inv INTO p_id_inv FROM sales_head WHERE id_sales = :NEW.id_sales; SELECT SUM (sum1) INTO n FROM garl_all --------------------------------------هذا عبارة عن view تقوم بحساب الرصيد ,وعند استبدالها باسم جدول تعمل بدون مشاكل WHERE id_item = :NEW.id_item AND id_inv = p_id_inv; insert into test2 (id_item) values (:old.i_qun); END; تقديم بلاغ
بتاريخ: 13 فبراير 201115 سنة comment_209131 only use instead of CREATE OR REPLACE TRIGGER INV.SS_I_QUN INSTEAD OF UPDATE ON INV.SALES_DETAIL REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW DECLARE n number; p_id_inv NUMBER; BEGIN SELECT id_inv INTO p_id_inv FROM sales_head WHERE id_sales = :NEW.id_sales; SELECT SUM (sum1) INTO n FROM garl_all --------------------------------------هذا عبارة عن view تقوم بحساب الرصيد ,وعند استبدالها باسم جدول تعمل بدون مشاكل WHERE id_item = :NEW.id_item AND id_inv = p_id_inv; insert into test2 (id_item) values (:old.i_qun); END; تقديم بلاغ
بتاريخ: 13 فبراير 201115 سنة كاتب الموضوع comment_209134 لا افهم ما هو الحل ، ارجو التوضيحوالغريب ان هذا التريجر trigger يعمل في insert وهذا هو CREATE OR REPLACE TRIGGER inv.minus_inventory BEFORE INSERT ON inv.sales_detail REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW DECLARE n NUMBER; p_id_inv NUMBER; BEGIN SELECT id_inv INTO p_id_inv FROM sales_head WHERE id_sales = :NEW.id_sales; SELECT SUM (sum1) INTO n FROM garl_all WHERE id_item = :NEW.id_item AND id_inv = p_id_inv; IF n - (:NEW.i_qun-:NEW.mtb) < 0 THEN raise_application_error ('', msg => 'stock on hand minus'); END IF; END; / تقديم بلاغ
بتاريخ: 13 فبراير 201115 سنة comment_209138 في حالة بناء تريجر على view لابد من استخدام in stead of بدلا من before ,after تقديم بلاغ
بتاريخ: 15 فبراير 201115 سنة كاتب الموضوع comment_209221 الهدف من trigger هو اثناء عمل اي تعديل في جدول (المبيعات مثلا) في الكمية مثلا يقوم بعمل بالبحث عن رصيد هذا الصنف من view اذا كان الرصيد بالسالب فيتم منع ذلك هذا هو الهدف فالرجاء افادتيولسيادتكم جزيل الشكر تقديم بلاغ
بتاريخ: 19 فبراير 201115 سنة كاتب الموضوع comment_209443 هل احد يستطيع ان يعطيني مثال بحيث يستطيع ان يعمل select من view وهو يقوم بادخال داتا في table بحيث اذا كانت القيمة بالسالب يقوم بالغاء الادخال تقديم بلاغ
بتاريخ: 18 أكتوبر 201213 سنة comment_228178 حضرتك ممكن تعمل جمله يسليكت عاديه لاسترجاع الكميه من الفيو بالنسبه للصنف اللى هتعمل عليه تعديل وهتقوله لو الكميه تساوى صفر ماتعملش تعديل او ماتعمل ادخال تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.