إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

كيف اقدر اعمل تريجر على الجدول لتعديل بيانات فية


4 رد (ردود) على هذا الموضوع

#1 moon14sun14

moon14sun14

    عضو نشط

  • الأعضــاء
  • 334 مشاركة

تاريخ المشاركة 05 November 2008 - 08:49 AM

مرحبا



عندي سؤال محيرني

عندي جدول لبيانات الموظفين ومن ضمن هذه البيانات يوجد حقل لمجموع الاجازات المتوفرة لكل موظف

اريد اضيف تريجر لهذا الجدول بحيث انه يعدل قيمة حقل مجموع الاجازات المتوفرة في 1/9 من كل سنة


كيييييييييف اقدر اطبق هالفكرة


ياريت حد يساعدني
مع خالص تحياتي اختكم moon14sun14

#2 MTSHAJALI

MTSHAJALI

    عضو مميز

  • الأعضــاء
  • 683 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 05 November 2008 - 08:51 AM

الاخت الكريمة

هل ممكن تضعي محتويات الجدول حتى اعطيكي الشافي ان شاء الله؟

ما اوقع على شيء ما اعرفه


#3 moon14sun14

moon14sun14

    عضو نشط

  • الأعضــاء
  • 334 مشاركة

تاريخ المشاركة 05 November 2008 - 10:13 AM

شو قصدك بمحتويات الجدول

هل تقصد الDESCRIPTION?
مع خالص تحياتي اختكم moon14sun14

#4 MTSHAJALI

MTSHAJALI

    عضو مميز

  • الأعضــاء
  • 683 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 05 November 2008 - 10:16 AM

نعم اختي الكريمة

description الجدول

ما اوقع على شيء ما اعرفه


#5 MMA

MMA

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,019 مشاركة
  • الاسم الأول:Mostapha
  • اسم العائلة:Abd El-Salam
  • البـلـد: Country Flag
  • المنصب الحالي:المؤسسة المصرية لتبسيط العلوم - عضو مؤسس - مستشار تقني

تاريخ المشاركة 05 November 2008 - 09:10 AM

هو المفروض أصلاً مفيش حقل خاص بعدد الأجازات المتبقية للموظف ، المفروض أن يكون هناك جدولاً يتابع عملية الأجازات خلال السنة ، يعني أي أجازة يطلبها الموظف يتم إدراج سجل علي أساسها ، مثل ( بداية الأجازة ، نهاية الأجازة ، المسئول ، السبب ، نوع الأجازة ، .... الي آخرة ) .

أما موضوع رصيد الموظف من الأجازات المتبقية خلال السنة مثلاً فدة بيتحسب مش بيتسجل !!!!

يعني مثلاً ، بيكون فية جدول آخر بيدرج فية قيود الأجازات ، وبيتحسب علي أساس سنوات الخدمة ، يعني مثلاً لو كان الموظف لم يتم 6 شهور من تعيينة مبيكنش له أجازات ، ومن 6 شهور الي 3 سنوات بيكون له 21 يوم للأجازة الرئيسية ، أما لو كان عدي 5 سنوات فبيكون له 25 يوم ، ................. وهكذا ( دة مجرد مثال بس ).

من هذا الجدول بحدد سنوات خدمة الموظف ، وبعدين أجلب قيمة الأجازات الممنوحة للموظف ، بعد كدة بجلب عدد الأجازات المستهلكة خلال السنة من جدول متابعة الأجازات السنوية وبطرحها من قيمة الأجازة الممنوحة ، وبعدها بطلع رصيد الأجازة الخاصة بالموظف خلال السنة المحددة.

عموماً كل شيء له إحتياجاتة وله إستخداماتة ، بس هفرض أنك عايزة تعملي حقل للرصيد علشان السهولة ، نفرض أن لدينا جدول خاص بالموظفين Emp ، وهذا الجدول به حقل لرصيد الأجازات تحت إسم Emp_BALANCE ، وهفرض أن هناك Function بيجلب رصيد الموظف من الأجازات يدعي Fun_Balance ، أنظري كيف يمكن تكوين الزناد :

CREATE OR REPLACE TRIGGER TRG_BEFORE_EMP BEFORE INSERT OR UPDATE ON EMP
FOR EACH ROW
DECLARE
   ID_BALANCE	NUMBER(20,3);
BEGIN
   IF(UPDATING)THEN
	   ID_BALANCE := FUN_BALANCE(:NEW.EMP_NO);
	   IF(ID_BALANCE <> :NEW.EMP_BALANCE)THEN
		   :NEW.EMP_BALANCE := ID_BALANCE;
	   END IF;
   END IF;
END;
/



بالتوفيق

مهندس/ مصطفي محمود عبد السلام   
العضو المؤسس بالمؤسسة المصرية لتبسيط العلوم
والمستشار التقني

(برمجيات - نظم معلومات - شبكات)

.

 

( 01098570165 )

.

.

.

( MMA_Programmer@Yahoo.com )