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

question need for professional answer


haas78

Recommended Posts

Gentelmen
daily i need to set the daily balance for one table
to zero
is there is any way that make the balance zero withe out need from user to press button

for example
in 12:00 clock in mide night the server clear the balance withe out need indication from user
the system automaticly set the

update table hh
set daily_balance =0;
where time like 12:00 pm
and execute priodicaly
in each hour

thanks

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

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

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

  • بعد 2 أسابيع...

الاخ has87 يمكنك ذلك بكل بساطة باستخدام JOB schedual والمستخدم sys
وذلك بتنفيذ الكود التالي:

BEGIN
   DBMS_JOB.SUBMIT(
job       => 1, 
next_date => to_date('08-Apr-2006 11:00:00 AM','dd-Mon-yyyy HH:MI:SS AM'),
Interval  => '/*1:HOUR*/ sysdate + (1/24)', what => 'update table hh 
set daily_balance =0;
commit;'
); 

END;
/



وهذا الكود سينفذ العملية كل ساعة دون ان تراقبه من تاريخ البداية وهو كما في الكود :
08-Apt-2006 الساعة 11.
لكن يجب عليك تعديل التاريخ السابق بنفس يوم تنفيذ النص لأول مرة
وللتأكد من صلاحية الكود اذهب الى المستخدم sys ونفذ الأمر التالي ثم راجع بياناتك في القائمة المذكورة HH:

EXECUTE DBMS_JOB.RUN(1)



لقد قمت بوضع التنفيذ هنا على اساس كل ساعة 24/1 اما اذا اردته كل كل يوم من منتصف الليل فعليك
اضافة رقم 1 فقط دون القسمة على 24

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

  • بعد 2 أسابيع...

تشكر اخ Oracle9iDeveloper و لكن هل من توضيع للكود اكثر
و شكرا

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

استطيع فقط توضيح العناصر الاساسية في البروسيجر:
job:
وهو رقم الوظيفة وهو رقم فريد يمكنك ان تضعه 1 او 2 ... الخ
وكما في المثال فقد وضعنه على اساس انه 1

Next_date:
وهو التاريخ الذي سبدا من خلاله العمل وهو كما في المثال
'08-Apr-2006 11:00:00 AM'
وقد استخدمت الفنكشن to_date لتحويله الى تاريخ

interval:
المقصود هنا هو الوقت المطلوب لتنفيذ الجملة وكما في المثال ترى انني وضعته 1/24 اي بما معناه
كل 1 ساعة والقيم التالية يمكن ان توضح لك المقصود:
1 تنفيذ العملية كل 24 ساعة او كل يوم بنفس وقت البدء (Next_date)
2/1 تنفيذ العملية كل 12ساعة او كل نصف يوم بنفس وقت البدء (Next_date)
4/1 تنفيذ العملية كل 6 ساعات (تقسيم اليوم الى اريع اجزاء)
6/1 تنفيذ العملية كل 4 ساعات
8/1 تنفيذ العملية كل 3 ساعات
... الخ

What:
هي العملية التس تريد تنفيذها او الفنكشن الذي تريد تنفيذه.

وارجو ان اكون قد اوصلت ما يفيدك

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

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

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

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

×   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.

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

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

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