moon14sun14 بتاريخ: 5 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 5 نوفمبر 2008 مرحبا عندي سؤال محيرنيعندي جدول لبيانات الموظفين ومن ضمن هذه البيانات يوجد حقل لمجموع الاجازات المتوفرة لكل موظفاريد اضيف تريجر لهذا الجدول بحيث انه يعدل قيمة حقل مجموع الاجازات المتوفرة في 1/9 من كل سنةكيييييييييف اقدر اطبق هالفكرةياريت حد يساعدني اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
MMA بتاريخ: 5 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 5 نوفمبر 2008 هو المفروض أصلاً مفيش حقل تجميعي للأجازات المتبقية للموظف خلال سنة معينة ، لأن دة بيكون حقل محسوب وليس حقل مُخَزَن !!!لكن هفرض أن هناك حالة خاصة لذلك !!!!هفرض أن هناك حقل يدعي EMP_BALANCE ، كيف يمكننا إجراء تعديل علية من الـ TRIGGER !!! CREATE OR REPLACE TRIGGER TRG_BEFORE_EMP BEFORE UPDATE ON EMP FOR EACH ROW DECLARE ID_BALANCE NUMBER(20,3); BEGIN ID_BALANCE := <جلب عدد أيام الأجازة السنوية> - <عدد الأيام المستهلكة>; :NEW.EMP_BALANCE := ID_BALANCE; END; / بالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ganna emad بتاريخ: 5 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 5 نوفمبر 2008 بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاتهانت تقصد انى فى تاريخ 1-9 يتم تجميع الرصيد للموظف وتظهر المجموع ولا تقصد ايه وضح اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
moon14sun14 بتاريخ: 8 نوفمبر 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 8 نوفمبر 2008 شكرا لكم على الردودبس يا اخ MMAاناعدلت على الكود اللي رسلتة لي حسب البيانات الموجودة عندي بهذا الشكلCREATE OR REPLACE TRIGGER TRG_BEFORE_STAFF BEFORE UPDATE ON HR_STAFF_DEATILSFOR EACH ROWDECLARE ID_BALANCE NUMBER(3);BEGIN ID_BALANCE := (LEAVE_TOTAL + 54) ; : HR_STAFF_DEATILS .LEAVE_TOTAL:= ID_BALANCE;END;HR_STAFF_DEATILS TABLE NAMELEAVE_TOTAL COLUMN WHICH SHOULD UPDATE54 THE STAFF TOTAL LEAVE IN EACH YEARبس حبيت اعرف هذا التريجر راح يكون على الجدول صح؟طيب كيف احدد انة هذا التعديل يتم في تاريخ محدد ومعين وهو 1/9 من كل سنة وليس في اي وقتانا ارفقت الدسكربشن تبع الجدول HR_STAFF_DEATILS_TABLE.doc اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.