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

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

صورة
- - - - -

مشكلة بسيطة في تريغر


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

#1 mmsalman87

mmsalman87

    عضو مميز

  • الأعضــاء
  • 1,689 مشاركة
  • الاسم الأول:Maher
  • اسم العائلة:Salman
  • البـلـد: Country Flag
  • المنصب الحالي:Senior Oracle HCM SaaS Pre Sale Consultant

تاريخ المشاركة 28 June 2009 - 06:48 PM

انا عندي تريغر يقوم بترحيل البيانات من جدول الموظفين الى جدول التغييرات الوظيفية ولكن ليس كلما تم تغيير على بيانات الموظف وانما عند تغيير الوظيفة او الدائرة التابع لها
وعملت كالتالي :
CREATE OR REPLACE TRIGGER update_job_history
AFTER UPDATE OF job_id,emp_dept_id ON employees
FOR EACH ROW
BEGIN INSERT INTO job_history (emp_id,job_id, department_id)
VALUES(:old.emp_id,:old.job_id,:old.emp_dept_id);
END;

التريغر شغال تمام ولكن المشكلة انه يقوم بترحيل البيانات كلما عدلنا في بيانات الموظف سواء كانت الوظيفة او الدائرة او حتى الاسم
يعني بيشتغل كلما عملنا تعديل على البيانات بشكل عام وليس فقط عندما اعدل الوظيفة او الدائرة ؟؟ ما الحل ؟؟؟

                                                                                             

                                                                                                                  Maher Salman

• Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist 

Taleo (TEE): Onboarding Administration Ed 3 LVC, Oracle University.

• Taleo (TBE): Recruit Essentials Ed 4.1 LVC, Oracle University.

• Oracle Fusion HCM Implementation, Oracle University.

• Oracle Certified Professional Developer (OCP) - Oracle Forms: Build Internet Applications.

• Oracle Certified Associate Developer (OCA).

• Oracle E-Business Suite R12 Human Capital Management Certified Implementation Specialist (HCM)

                                                                                                                                        
                                                                                                           http://learnoracle.net                                                                                                                

                                                                                                                             
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

أهم مواضيعي ( Oracle Developer )

- برنامج حفظ الكودات - My Codes

- كيفية عمل نظام متعدد اللغات

- انشاء شاشة دخول وتغيير كلمة السر والتحكم بالمستخدمين

- Import And Export On Toad

- التحكم في النظام من خلال الملف Formsweb.cfg

​- Advanced Dynamic List

- توليد ارقام وحروف عشوائية 

 

 

أهم مواضيعي ( Oracle HRMS)

 

Using Special Value set in oracle hrms 


#2 mustafagamiel

mustafagamiel

    مشرف قسم النماذج والمشاريع

  • فريق الإشراف
  • 2,095 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 28 June 2009 - 07:47 PM

السلام عليكم
جرب كده

CREATE OR REPLACE TRIGGER update_job_history
AFTER UPDATE OF job_id,emp_dept_id ON employees
FOR EACH ROW
when (new.job_id<>old.job_id or new.emp_dept_id <>old.emp_dept_id )
BEGIN INSERT INTO job_history (emp_id,job_id, department_id)
VALUES(:old.emp_id,:old.job_id,:old.emp_dept_id);
END;

اللهم إن كان رزقي في الســــــــــماء فأنزله
وإن كان في الأرض فأخرجـه
وإن كان بعيدا فقربه وإن كان قريبا فيسره
وإن كان قليلا فكثره وإن كان كثيرا فبارك لي فيه

اللـــهم آمين
لا إله إلا الله وحده لاشريك له- له الملك وله الحمد وهو على كل شيء قدير
لا إله إلا أنت سبحانك-- إني كنت من الظالمين






#3 mmsalman87

mmsalman87

    عضو مميز

  • الأعضــاء
  • 1,689 مشاركة
  • الاسم الأول:Maher
  • اسم العائلة:Salman
  • البـلـد: Country Flag
  • المنصب الحالي:Senior Oracle HCM SaaS Pre Sale Consultant

تاريخ المشاركة 29 June 2009 - 08:53 AM

اخي الكريم كلامك جميل ولكن انا بدي اسال سؤال :
ما فائدة Of
تحديد الحقول التي اذا حدث عليها تغيير ان يتفعل التريغر صح ؟
اذا ماذا استفدنا منها اذا كان التريغر يقوم بالترحيل على ايا حال من الاحوال يعني لو غيرت مش الادارة ومش الوظيفة يعني شي تاني مثل الاسم
رح يرحل البيانات اذا ما فائدتها ؟
تانيا التريغر لا يقبل ان يتفعل في ظل وجود محددات يعني constraint as unique or primary key
وفي هذه الحالة ماذا استفدنا ايضا ؟؟؟
النتيجة ان التريغر الحالي ناقص ينقصه حل مشكلة المحددات وحل مشكلة التغيير
بحيث اذا غير المستخدم الوظيفة او الدائرة يتفعل وغير ذلك لا يتفعل وشكرا لاهتمامك

                                                                                             

                                                                                                                  Maher Salman

• Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist 

Taleo (TEE): Onboarding Administration Ed 3 LVC, Oracle University.

• Taleo (TBE): Recruit Essentials Ed 4.1 LVC, Oracle University.

• Oracle Fusion HCM Implementation, Oracle University.

• Oracle Certified Professional Developer (OCP) - Oracle Forms: Build Internet Applications.

• Oracle Certified Associate Developer (OCA).

• Oracle E-Business Suite R12 Human Capital Management Certified Implementation Specialist (HCM)

                                                                                                                                        
                                                                                                           http://learnoracle.net                                                                                                                

                                                                                                                             
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

أهم مواضيعي ( Oracle Developer )

- برنامج حفظ الكودات - My Codes

- كيفية عمل نظام متعدد اللغات

- انشاء شاشة دخول وتغيير كلمة السر والتحكم بالمستخدمين

- Import And Export On Toad

- التحكم في النظام من خلال الملف Formsweb.cfg

​- Advanced Dynamic List

- توليد ارقام وحروف عشوائية 

 

 

أهم مواضيعي ( Oracle HRMS)

 

Using Special Value set in oracle hrms 


#4 abdu1_far

abdu1_far

    عضو نشط

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

تاريخ المشاركة 29 June 2009 - 09:42 AM

اخي الكريم ممكن بس الاسكريبت بتاع جدول الموظفين وجدول التغييرات الوظيفية ، وان شاء الله اقولك فين المشكلة
قال رسول الله صلى الله عليه وسلم "إن لله عز وجل عباداً أختصهم بقضاء حوائج الناس ، حببهم إلي الخير وحبب الخير إليهم
هم الاّمنون من عذاب الله يوم القيامة " أوكما قال صلى الله عليه وسلم

#5 mmsalman87

mmsalman87

    عضو مميز

  • الأعضــاء
  • 1,689 مشاركة
  • الاسم الأول:Maher
  • اسم العائلة:Salman
  • البـلـد: Country Flag
  • المنصب الحالي:Senior Oracle HCM SaaS Pre Sale Consultant

تاريخ المشاركة 29 June 2009 - 09:53 AM

سكريبت جدول الموظفين


CREATE TABLE EMPLOYEES
(
EMP_ID NUMBER(10),
F_NAME VARCHAR2(30 BYTE),
S_NAME VARCHAR2(30 BYTE),
T_NAME VARCHAR2(30 BYTE),
L_NAME VARCHAR2(30 BYTE),
DOB DATE,
POB VARCHAR2(50 BYTE),
NATIONALITY NUMBER(3),
GENDER NUMBER(1),
CURRENT_ADDRESS VARCHAR2(100 BYTE),
CARD_ID VARCHAR2(30 BYTE),
CARD_ISSUE_DATE DATE,
CARD_PLACE VARCHAR2(30 BYTE),
PASSPORT_ID VARCHAR2(30 BYTE),
PASSPORT_ISSUE_DATE DATE,
PASSPORT_EXPIRE_DATE DATE,
PASSPORT_PLACE VARCHAR2(30 BYTE),
MARITAL_STATUS NUMBER(1),
TEL1 VARCHAR2(30 BYTE),
TEL2 VARCHAR2(30 BYTE),
MOBILE1 VARCHAR2(30 BYTE),
MOBILE2 VARCHAR2(30 BYTE),
EMAIL VARCHAR2(100 BYTE),
INTERNAL_TEL VARCHAR2(30 BYTE),
EMP_DEPT_ID NUMBER(10),
JOB_ID NUMBER(10),
MANAGER_ID NUMBER(10),
PASSWORD VARCHAR2(30 BYTE),
STATUS NUMBER,
SALARY NUMBER(8,3),
EMP_TYPE NUMBER(1)
)



سيكريبت جدول التغيرات الوظيفية

CREATE TABLE JOB_HISTORY
(
EMP_ID NUMBER(10),
START_DATE DATE,
END_DATE DATE,
JOB_ID NUMBER(10),
DEPARTMENT_ID NUMBER(10),
SALARY_EFFECT NUMBER(8,3),
TYPE_TO_CHANGE NUMBER(1)
)

                                                                                             

                                                                                                                  Maher Salman

• Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist 

Taleo (TEE): Onboarding Administration Ed 3 LVC, Oracle University.

• Taleo (TBE): Recruit Essentials Ed 4.1 LVC, Oracle University.

• Oracle Fusion HCM Implementation, Oracle University.

• Oracle Certified Professional Developer (OCP) - Oracle Forms: Build Internet Applications.

• Oracle Certified Associate Developer (OCA).

• Oracle E-Business Suite R12 Human Capital Management Certified Implementation Specialist (HCM)

                                                                                                                                        
                                                                                                           http://learnoracle.net                                                                                                                

                                                                                                                             
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

أهم مواضيعي ( Oracle Developer )

- برنامج حفظ الكودات - My Codes

- كيفية عمل نظام متعدد اللغات

- انشاء شاشة دخول وتغيير كلمة السر والتحكم بالمستخدمين

- Import And Export On Toad

- التحكم في النظام من خلال الملف Formsweb.cfg

​- Advanced Dynamic List

- توليد ارقام وحروف عشوائية 

 

 

أهم مواضيعي ( Oracle HRMS)

 

Using Special Value set in oracle hrms 


#6 abdu1_far

abdu1_far

    عضو نشط

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

تاريخ المشاركة 29 June 2009 - 10:34 AM

حقيقي انا مش عارف ايه المشكلة ... انا عملت الجداول وكمان عملت التريجر والدنيا ميه ميه ولا كأنها زبادي في الخلاط :unsure:
مش عارففين المشكلة اصلا ... جايز عشان انت عامل كونسترين
ممكن تبعت كل الاسكريبتات اللي على الجدولين دول PK ,FK واي حاجة تانية معمولة على الجدولين دول ؟؟؟
قال رسول الله صلى الله عليه وسلم "إن لله عز وجل عباداً أختصهم بقضاء حوائج الناس ، حببهم إلي الخير وحبب الخير إليهم
هم الاّمنون من عذاب الله يوم القيامة " أوكما قال صلى الله عليه وسلم

#7 mmsalman87

mmsalman87

    عضو مميز

  • الأعضــاء
  • 1,689 مشاركة
  • الاسم الأول:Maher
  • اسم العائلة:Salman
  • البـلـد: Country Flag
  • المنصب الحالي:Senior Oracle HCM SaaS Pre Sale Consultant

تاريخ المشاركة 29 June 2009 - 07:37 PM

فقط معمول عليهم ال constraint التالية
جدول بيانات الموظفين
emp_id primary key

جدول التغيرات الوظيفية

emp_id, job_id_dept_id primary key

اخي الكريم التريغر بدون محددات يشتغل 100/100

                                                                                             

                                                                                                                  Maher Salman

• Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist 

Taleo (TEE): Onboarding Administration Ed 3 LVC, Oracle University.

• Taleo (TBE): Recruit Essentials Ed 4.1 LVC, Oracle University.

• Oracle Fusion HCM Implementation, Oracle University.

• Oracle Certified Professional Developer (OCP) - Oracle Forms: Build Internet Applications.

• Oracle Certified Associate Developer (OCA).

• Oracle E-Business Suite R12 Human Capital Management Certified Implementation Specialist (HCM)

                                                                                                                                        
                                                                                                           http://learnoracle.net                                                                                                                

                                                                                                                             
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

أهم مواضيعي ( Oracle Developer )

- برنامج حفظ الكودات - My Codes

- كيفية عمل نظام متعدد اللغات

- انشاء شاشة دخول وتغيير كلمة السر والتحكم بالمستخدمين

- Import And Export On Toad

- التحكم في النظام من خلال الملف Formsweb.cfg

​- Advanced Dynamic List

- توليد ارقام وحروف عشوائية 

 

 

أهم مواضيعي ( Oracle HRMS)

 

Using Special Value set in oracle hrms