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

سؤالين هامين لمن لديهم الخبره


mohamed1975

Recommended Posts

هل احد يستطيع المساعده فى عمل فانكشن لارجاع عدد ايام يوم معين فى شهر معين من سنه معينه
مثلا فى 12/نوفمبر/2005
نجد ان يوم السبت تكرر اربع مرات
ويوم الاربعاء تكرر خمس مرات
--------------------------------------
فانكشن آخر لمن يستطيع المساعده فيه وهو هام جدا يفيد فى برامج شئون الموظفين
وهو كيف يمكن عمل طريقه ما او فانكشن ما او تريجر بحيث عند ترقى موظف معين لوظيفه معينه ودخول موظف من مرؤوسيه مكانه
السؤال هو كيف يمكن عمل تحديث لكود المدير

excample :
empno ename mgr

كود الموظف اسم كود المدير كود الموظف اسم كود المدير
---------------------------------- ---------------------------------
002 احمد

066 محمد 002 090 رمضان 002

075 على 066 095 محمود 090
077 ابراهيم 066 096 رضا 090
079 نرمين 066 098 شكرى 090

الفكره هى :
مثلا
(002 احمد) طلع معاش وترقى مكانه ( 066 محمد ) وترقى مكان محمد (075 على)

وهكذا لو ان لدينا تسلسل هرمى كبير ............................
اى ان الصوره النهائيه تصبح كما يلى
كود الموظف اسم كود المدير كود الموظف اسم كود المدير
---------------------------------- ---------------------------------
066 محمد

075 على 066 090 رمضان 066

077 ابراهيم 075 095 محمود 090
079 نرمين 075 096 رضا 090
098 شكرى 090

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

ارجو الرد لمن لديه الخبره
،،،،،شاكرين حسن تعاونكم،،،،،،،

تم تعديل بواسطة mohamed1975
رابط هذا التعليق
شارك

الاخ الكريم

بالنسبة للسؤال الاول فهو غير واضح

بالنسبة للشق الثاني فيمكنك عمل ذلك وذلك بعمل lov حيث تختار منها وظيفة الموظف يعني تعملة update لحالة الوظفيفة وهكذا
يعني عمل select بالشكل التالي

select mgr,mgr_desc from your_table

رابط هذا التعليق
شارك

مشكور يا اخى على المشاركه ولكن احب ان اوضح لك الفكره
بالنسبة للشق الثانى فأنه من المستحيل ان اذهب لكل موظف على حده واعمل له تحديث لكود المدير هذه عمليه مرهقه للغايه
الفكره هو اننى اريد طريقه او تريجر معين يعمل تحديث لكل السجلات فى آن واحد عند حدوث تغيير فى كود المدير مثل ما ذكرت سلفا
والمشاكل ستظهر فى التسلسل الهرمى
وعلاقات الجدول بنفسه
فلا يمكن ان يكون موظف مدير نفسه مثلا


بالنسبة للشق الاول من سؤالى
فهو واضح الفكره هى اريد عدد تكرار يوم معين اختاره
يعنى مثلا يوم الجمعه تكرر 4 مرات فى شهر نوفمبر سنة 2005
ونفس يوم الجمعه تكرر 5 مرات فى شهر ابريل 2005
اريد فانكشن يرجع لى عدد تكرار هذا اليوم فى اى شهر اختاره من اى سنه

وانا حاولت واليك الكود الذى ساعدنى به احد الاصدقاء
لكن يحدث به بعض الاختلافات


CREATE OR REPLACE FUNCTION NUM (DAYNAME IN VARCHAR2, THEDATE IN
DATE)
RETURN NUMBER

IS
AA NUMBER(1) ;
BB NUMBER(1) := 0 ;
CC number(1);
DD DATE ;
EE DATE ;
FF VARCHAR2(100) ;
GG VARCHAR2(10) ;
THE_MONTH VARCHAR2(10) ;

BEGIN
FF := TO_CHAR(THEDATE,'MM-YYYY');
FF := '01-' || FF;
DD := TO_DATE(FF,'DD-MM-YYYY');
THE_MONTH := TO_CHAR(DD,'MON');
GG := TO_CHAR(DD,'MON');
IF GG = THE_MONTH THEN

BB := BB + 1;
CC:=BB;
END IF;
WHILE BB<6 LOOP

EE := NEXT_DAY(DD , DAYNAME);
GG := TO_CHAR(EE,'MON');
IF GG <> THE_MONTH THEN
BB := 7;
ELSE
BB := BB+1;
CC := BB;
DD := DD+7;
END IF;
END LOOP;
RETURN CC;
END ;
/

SELECT NUM ('MONDAY', TO_DATE('05-11-2005','DD-MM-YYYY')) FROM DUAL;
--SQL> 5

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية