الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

بتاريخ:

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

ممكن مساعدة

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

STUDENTS
NAME
AGE

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

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

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

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

تم تعديل بواسطة sonic

بتاريخ:

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

بتاريخ:
  • كاتب الموضوع

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

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

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

بتاريخ:

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

تم تعديل بواسطة TROYMAN

بتاريخ:
  • كاتب الموضوع

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

ولكن اين يمكن ان اضع الشرط ممكن توضيح؟ لوسمحتوا

بتاريخ:
  • كاتب الموضوع

الظاهر لاتوجد طريقة لاضافة شرط بقاعدة البيانات الاوراكل!

بتاريخ:

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



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

لي عودة.....

بتاريخ:
  • كاتب الموضوع

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

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

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

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

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

تم تعديل بواسطة sonic

بتاريخ:

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

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



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


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

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

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

بتاريخ:
  • كاتب الموضوع

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

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

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

وفقكم الله

بتاريخ:

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

إذا فرضنا إن الجدول بيتكون من أربع أعمده .

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;

بتاريخ:
  • كاتب الموضوع

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

الله يوفقك

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.