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

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

صورة
- - - - -

مساعدة لحساب العمر


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

#1 sonic

sonic

    مشترك

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

تاريخ المشاركة 05 March 2009 - 10:49 PM

السلام عليكم ورحمة الله وبركاته

ممكن مساعدة

لنفرض مثلا لدي جدول وهو

STUDENTS
NAME
AGE

اريد طريقة لحساب عمر الطلاب عند مرور السنون يحدث تحديث للعمر، يزداد عمر الطالب بصورة (اوتماتيكية) ولا داعي لتحديث عمره كل سنة بواسطة مبرمج قاعدة البيانات

انا اعرف هذا الكود {Age = Today - DateOfBirth}

ولكن لا اعرف اين اسخدمه او اضعه؟ هل ممكن ان يكون Trigger

ممكن تخبروني الطريقة لو سمحتوا جزاكم الله كل خير

تم التعديل بواسطة sonic, 05 March 2009 - 10:51 PM.

سبحان الله والحمد لله ولا اله الا الله والله أكبر
استغفر الله الذي لا إله إلا هو الحي القيوم وأتوب اليه
اللهم اغفر لي ولوالدي ولجميع المسلمين والمسلمات والمؤمنين والمؤمنات الاحياء منهم والاموات
اللهم صل وسلم على النبي محمد
اللهم أعطي الناس ضعف ما يتمنوه لي من خير

#2 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 05 March 2009 - 11:41 PM

السلام عليكم
اخي العزيز...ممكن تضع الكود بـــ FORMULA على حقل عمر الطالب....
بالتوفيق

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

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

 


#3 sonic

sonic

    مشترك

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

تاريخ المشاركة 06 March 2009 - 01:00 AM

شكرا لك ولكن اين اجد ال FORMULA حاولت كل الطرق لايجادها ولم اجدها؟ مع العلم استخدم Oracle 9i قاعدة بيانات والواجهة ASP.net

اسف على كثرة الاسئلة ولكن مبتدئ بالاوراكل

جزاك الله كل خير اخي الكريم على الرد
سبحان الله والحمد لله ولا اله الا الله والله أكبر
استغفر الله الذي لا إله إلا هو الحي القيوم وأتوب اليه
اللهم اغفر لي ولوالدي ولجميع المسلمين والمسلمات والمؤمنين والمؤمنات الاحياء منهم والاموات
اللهم صل وسلم على النبي محمد
اللهم أعطي الناس ضعف ما يتمنوه لي من خير

#4 TROYMAN

TROYMAN

    مشترك

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

تاريخ المشاركة 06 March 2009 - 03:26 PM

السلام عليكم....
هناك ملاحظة هامة في تصميم قواعد المعطيات:
من أنواع الواصفات (الحقول) للكائن(الجدول)
الواصفة المشتقة: هي الواصفة التي يتم حساب قيمتها استناداً إلى واصفات أخرى، بالاعتماد على خوارزميات محددة، بحيث يمكن الاستغناء عن تخزينها في قاعدة المعطيات. فعلى سبيل المثال يمكن حساب عمر الموظف اعتمادا على تاريخ ميلاده المُخزن في قاعدة المعطيات.
لذلك من الخطأ الفادح تخزين العمر في الجدول و يجب تخزين تاريخ الميلاد عوضاً عنه و عندما تحتاج للعمر تقوم بحسابه ببساطة كالتالي:
(التاريخ الحالي - تاريخ الميلاد) / 360
(sysdate-Birthdate)/360

تم التعديل بواسطة TROYMAN, 06 March 2009 - 03:28 PM.


<<اللهم لا علـم لنا إلا ما علّمتنا إنك أنت العليــم الحكيــم>>
<<اللهم علّمنا ما ينفعنا و انفعنا بما علّمتنا و ازدنا علماً>>



Programmer (C#.Net,C++,ASP) & Oracle Developer


#5 sonic

sonic

    مشترك

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

تاريخ المشاركة 06 March 2009 - 07:41 PM

شكرا لك على المعلومة

ولكن اين يمكن ان اضع الشرط ممكن توضيح؟ لوسمحتوا
سبحان الله والحمد لله ولا اله الا الله والله أكبر
استغفر الله الذي لا إله إلا هو الحي القيوم وأتوب اليه
اللهم اغفر لي ولوالدي ولجميع المسلمين والمسلمات والمؤمنين والمؤمنات الاحياء منهم والاموات
اللهم صل وسلم على النبي محمد
اللهم أعطي الناس ضعف ما يتمنوه لي من خير

#6 sonic

sonic

    مشترك

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

تاريخ المشاركة 08 March 2009 - 01:14 PM

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

#7 hrs

hrs

    عضو نشط

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

تاريخ المشاركة 08 March 2009 - 03:43 PM

اسمع ياابني ياسونيك
شوف انت تتعامل مع الاوراكل فورمز صح؟؟؟؟
من هذا الفورم انت تقدر تحط الtrigger
ممكن يكون على مستوى الفورم اي سوف يرنن اول ماتفتح الفورم
داخل الtrigger تحط الformula اللي انت تتكلم عنها



بس طبعا لازم تخزن تاريخ الميلاد في متغير date
select date_of_birth into date from user_info where user_id=:user_id ; >>>>>>>>>>>>>>ok

لي عودة.....

#8 sonic

sonic

    مشترك

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

تاريخ المشاركة 08 March 2009 - 06:04 PM

اخي hrs ردك جدا اسعدني

اخي لا استخدم الاوراكل فورز ولكن استخدم Oracle9i DataBase وربط قاعدة البيانات في ASP.NET

ولكن توجد لدي trigger هل من الممكن وضع الشرط فيها

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

جزاك الله كل خير اخي الكريم hrs

تم التعديل بواسطة sonic, 08 March 2009 - 06:06 PM.

سبحان الله والحمد لله ولا اله الا الله والله أكبر
استغفر الله الذي لا إله إلا هو الحي القيوم وأتوب اليه
اللهم اغفر لي ولوالدي ولجميع المسلمين والمسلمات والمؤمنين والمؤمنات الاحياء منهم والاموات
اللهم صل وسلم على النبي محمد
اللهم أعطي الناس ضعف ما يتمنوه لي من خير

#9 hrs

hrs

    عضو نشط

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

تاريخ المشاركة 09 March 2009 - 01:57 PM

يتبع ..
بس طبعا لازم تخزن تاريخ الميلاد في متغير date
select date_of_birth into date from user_info where user_id=:user_id ; >>>>>>>>>>>>>>ok

....................بعدين لما تخزنه في متغير تقدر تستخدمه في الفورملا ..



انا بصراحة لم اتعامل مع الasp.net
ولكن كلامك منطقيا صح


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

بس فيه مشكلة في معادلتك راح تطلع تاريخ وليس عمر!!!

اخ تروي مان
معادلتك غريبة .. كيف تطرح تاريخ من تاريخ والناتج تقسمه على رقم؟؟؟؟ مختلفين في النوع؟؟؟
يعني لحساب العمر لازم نوصل للسنة .. شنو الطريقة؟؟

#10 sonic

sonic

    مشترك

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

تاريخ المشاركة 09 March 2009 - 06:05 PM

جزاك الله كل خير اخي الكريم على الرد بارك الله فيك

وبانتظار الخبراء

وان لم احصل على اجابة سوف اقوم بوضع العمر ك Number

وفقكم الله
سبحان الله والحمد لله ولا اله الا الله والله أكبر
استغفر الله الذي لا إله إلا هو الحي القيوم وأتوب اليه
اللهم اغفر لي ولوالدي ولجميع المسلمين والمسلمات والمؤمنين والمؤمنات الاحياء منهم والاموات
اللهم صل وسلم على النبي محمد
اللهم أعطي الناس ضعف ما يتمنوه لي من خير

#11 Ahmed Farghaly

Ahmed Farghaly

    عضو نشط

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

تاريخ المشاركة 09 March 2009 - 06:25 PM

بسم الله الرحمن الرحيم

إذا فرضنا إن الجدول بيتكون من أربع أعمده .
create table students(student_no number(5),student_name varchar2(15),birth_date date,age number(2))

وتريد عند إدخال الـbirth_date يقوم بحساب العمر ووضعه فى الـage .
هتعمل db trigger كالآتى :

create or replace trigger trg1 
before insert on emp
referencing old as old new as new
for each row
begin select trunc(months_between(sysdate,:new.birth_date)/12) into :new.age from dual;
end;

Oracle Developer

OCP

ومــا توفيـقــى إلا باللـــــه

#12 sonic

sonic

    مشترك

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

تاريخ المشاركة 09 March 2009 - 07:36 PM

جزاك الله كل خير نجحت الطريقة بارك الله فيك اخي Ahmed Farghaly

الله يوفقك
سبحان الله والحمد لله ولا اله الا الله والله أكبر
استغفر الله الذي لا إله إلا هو الحي القيوم وأتوب اليه
اللهم اغفر لي ولوالدي ولجميع المسلمين والمسلمات والمؤمنين والمؤمنات الاحياء منهم والاموات
اللهم صل وسلم على النبي محمد
اللهم أعطي الناس ضعف ما يتمنوه لي من خير