الانتقال إلى المحتوى
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

بتاريخ:

السلام عليكم ;)

عندي سؤال بسيط لكن ماني عارف اضعه باي قسم . فوضعته بالقسم العام :angry:

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

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

يعني اذا تاريخ الاعاده 1-1-2004 و التاريخ صار 29-3-2004 فيطلع لي بعمود الحساب = 90 يوم !! (فرضاً) فكيف اسوي هذا الشئ ؟؟ هل هو كود SQL ؟ او PL/SQL او كيف بالضبط ؟

افيدونا افادكم الله

بتاريخ:

رد وافى يــــ ;) ــــــاSalama

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

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

شباب انا شكلي ما عرفت اشرح المشكله ..

المشكله مش بالتواريخ او الحساب ..

انا ابغى طريقه اخلي الاوراكل يعدل على العمود بشكل اوتوماتيكي .. يعني بدون تدخل المستخدم ;)

بتاريخ:

السوال غير واضحه ;)

بتاريخ:

إذا أردت أن تحسب عدد ايام التأخير في النموذج يمكنك بواسطة التريجر post update على حقل تاريخ الإرجاع ومن ثم يمكنك إدخالها في الجدول .



مع تحياتي

بتاريخ:

السؤال بالضبط : كيف اقدر اخلي ال Oracle تعمل Update اوتوماتيكلي لهذا ال Column بحيث يتم تعديل قيمته اعتمادا على تاريخ اليوم ؟ فمثلا اذا كان عدد ايام التاخير اليوم هو 10 ايام فيجب تعديل هذه القيمة غذا الى 11 بشكل الي ؟
انا ما بعرف الجواب بالضبط بس اعتقد هناك Utility بال Oracle اسمها DBMS_JOB ممكن انها تفيد بهذا الموضوع , اذا اي حد بعرف كيف ممكن نستخدمها بهذه الحالة فممكن يساعدنا اذا كانت الفكرة تعتمد على هذه ال Utility .

بتاريخ:
  • كاتب الموضوع
السؤال بالضبط : كيف اقدر اخلي  ال Oracle تعمل Update اوتوماتيكلي لهذا ال Column بحيث يتم تعديل قيمته اعتمادا على تاريخ اليوم ؟ فمثلا اذا كان عدد ايام التاخير اليوم هو 10 ايام فيجب تعديل هذه القيمة غذا الى 11 بشكل الي ؟
انا ما بعرف الجواب بالضبط بس اعتقد هناك Utility بال Oracle  اسمها DBMS_JOB ممكن انها تفيد بهذا الموضوع , اذا اي حد بعرف كيف ممكن نستخدمها بهذه الحالة فممكن يساعدنا اذا كانت الفكرة تعتمد على هذه ال Utility .

نععععععععععم هذا هو سؤالي ;)
بتاريخ:

أخ صلاح لا أعلم شيء عن عن Dbms_Job
ولكن يمكن ربط عملية تحديث هذا العمود مع حدث الدخول إلى الفورم أو أن تقوم بعمل timer يعمل بشكل يومي .. لا أدري أن هذا ينفع كحل

بتاريخ:

انا اؤيد رأي اخوي BraveHeart انك تسوي Trigger وتحط فيه ناتج طرح التاريخين .. وTrigger هذا يشتغل كل post update

بتاريخ:

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

بتاريخ:

و انا جاهز لمثال لو احببت للتوضيح

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

اشكر الاخوان على الردود و لكن الدكتور يبغى كذا !!!

حاولت اني اقول له اني اقدر اسوي هذا الشئ عن طريق كود برمجي لكن هو يبغى كذا!!!

ياليت لو احد يقدر يفيدني بالفكره بس .. و انا راح اكمل بحث .. يعني احد عنده موقع يهتم بهذي الامور ؟

بتاريخ:

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

create or replace  trigger calc_date  after  logon  on  schema 
 begin update test_date 
set period =to_date(sysdate,'dd-mm-yyyy')-to_date(date2,'dd-mm-yyyy'); 
end  ;


هذا التريجر يقوم بتحديث الفترة كلما دخلت علي السكيما
بمعني اذا كان اليوم هو 10 مثلا وتاريخ الاعادة كان 5 اذن التأخير سيكون 5
و غدا عندما تدخل علي قاعدة اليبيانات يصير 6 و هكذا
هذا حل سريع لمشكلتك
شوف ده هيحل المشكلة ولا لا و قولي
طبعا اذا كنت تدخل باكثر من سكيما
فغير on schema
لتصبح on database
بالتوفيق

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

اخوي هاني .. انت كذا حليت مشكلتي .. مشكوووووووووووووور كثير و الله يوفقك و تاخذ الشهاده اللي فوق OCP
:unsure:

اخر سؤال و هو رد على كلامك "يعمل عندما يتم الدخول علي الداتا ليز من اي برنامج"

هل يشتغل البرنامج عند استخدامي JDeveloper لأني انا قاعد اسوي برنامج بالـ JSP

بتاريخ:

نعم اخي
هذا التريجر يعمل عندما تتصل بقاعدة البيانات بغض النظر عن البرنامج
انما ايه الشهادة دي اللي بعد الocp الخاصة بالديفلوبر ... :unsure:
بس هل جربت التريجر ولا لا

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

الحقيقه انا ما اعرف للشهادات و لكن ان شاء الله احاول احصل عليها :unsure:

بالنسبه للتريجر راح اجربه لكن ان شاء الله يوم الخميس ... تعرف يا عم ضغط الدراسه :D

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

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

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

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

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

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.