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

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

صورة
- - - - -

question need for professional answer


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

#1 haas78

haas78

    عضو

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

تاريخ المشاركة 29 March 2006 - 01:25 PM

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 هانى سند

هانى سند

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 743 مشاركة

تاريخ المشاركة 29 March 2006 - 01:53 PM

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

#3 Oracle9iDeveloper

Oracle9iDeveloper

    مشترك

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

تاريخ المشاركة 07 April 2006 - 11:46 PM

الاخ 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
Oracle Developoer
. oabunawas@yahoo.com .
صورة

#4 oracle_itself

oracle_itself

    عضو نشط

  • فريق الإشراف
  • 365 مشاركة
  • الاسم الأول:Wael
  • اسم العائلة:Abdeen
  • البـلـد: Country Flag
  • المنصب الحالي:Manager

تاريخ المشاركة 19 April 2006 - 12:12 AM

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

تم التعديل بواسطة oracle_itself, 19 April 2006 - 12:13 AM.

WAEL ABDEEN: Assistant Manager / Data Mgmt. Analyst

profile: linkedin profile

blog: waelabdeen.blogspot.com

facebook: facebook profile

skype: oracle_itself

email: oracle_itself@hotmail.com


#5 Oracle9iDeveloper

Oracle9iDeveloper

    مشترك

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

تاريخ المشاركة 20 April 2006 - 08:35 PM

استطيع فقط توضيح العناصر الاساسية في البروسيجر:
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:
هي العملية التس تريد تنفيذها او الفنكشن الذي تريد تنفيذه.

وارجو ان اكون قد اوصلت ما يفيدك
Oracle Developoer
. oabunawas@yahoo.com .
صورة