بتاريخ: 31 يناير 200620 سنة comment_58973 السلام عليكملا تقوم قاعدة البيانات بتنفيذ Trigger التالي - ويتم تنفيذه بعد إضافة بيانات للسجل - : CREATE TRIGGER IN_AVG FOR PRICE_DATE ACTIVE AFTER INSERT POSITION 0 AS declare variable num decimal(15,2); declare variable m_id integer; begin select max(id) from price_date where id_comp = new.id_comp into :m_id; if (m_id > 8) then begin select avg(pr_close) from price_date where id_comp = new.id_comp and id > :m_id -9 into :num; new.avg_9 = :num; end else new.avg_9 = 0; end وعندما استبدلت تفيذه بقبل إضافة بيانات لللسجل فإنه ينفذه . CREATE TRIGGER IN_AVG FOR PRICE_DATE ACTIVE BEFOR INSERT POSITION 0 AS declare variable num decimal(15,2); declare variable m_id integer; begin select max(id) from price_date where id_comp = new.id_comp into :m_id; if (m_id > 8) then begin select avg(pr_close) from price_date where id_comp = new.id_comp and id > :m_id -9 into :num; new.avg_9 = :num; end else new.avg_9 = 0; end لماذا نفذه عندما كان قبل السجل ولم ينفذه عندما بعد السجل أقصد بالتفيذ أنه لا تتغير قم الأعمدة الموجودة بالكود . تم تعديل 31 يناير 200620 سنة بواسطة أبو محمـد تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.