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

بتاريخ:

السلام عليكم ورحمة الله وبركاته وكل عام وانتم بخير بمناسبة شهر رمضان الكريم
سؤال/
هل يمكن عمل وظيفه معينه تقوم بإجراء عمليات معينه فى وقت دورى احدده لها
قرأت فى هذا الموضوع فوجدت باكج اسمها
job_queue
ولكن لم استطع استخدامها
المطلوب مثلا : اريد ان اعمل
host('sqlldr scott/tiger@mybase control=c:\ctl.ctl parfile=c:\par.txt
اريد ان ينفذ هذا السطر او هذا الامر يوميا الساعه 3 ظهرا دون تشغيل الفورم اى يعمل هذا الكود من خلال الداتا بيز

بتاريخ:

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

بتاريخ:

ممكن شرح ال SYSDATE
وجزاكم الله خير

بتاريخ:

السلام عليكم ورحمة الله وبركاتة
طيب هى ال data base هتفتح ازاى من غير الفورم ما تفتح يعنى المفروض فى تريجر اسمه on_logon بيكون فية ال user_name , password علشان ال data base تفتح
ولا ايه؟

بتاريخ:

ماشي كلامك ده مظبوط يا محمد بس ده فى حالة ان قاعدة الداتا بيز ممكن تغلق يعنى "turn off" يعنى جهاز كمبيوتر عادى لكن هى من كلمها واضح ان ده جهاز سرفر وتنفيذ التريجر لن يحتاج لوجود شخص بل تلقائي . الشاهد فى كلامى ان السيس دات ممكن توضع مع الفورم اللى هتنفذ عليه التريجر
وشكرا
ميجا

بتاريخ:

سلام عليكم
ممكن تعملى data base trigger يتنفذ فى الوقت اللى انتى عايزاة

بتاريخ:

السلام عليكم و رحمة الله و بركاتة
يا محمد انت غلطان لأن database trigger بيشتغل على الـ server side
مش على الclient side
و كمان امر ال host ساعتها حايحصل لية fire على السيرفر
و الله تعالى أعلم

بتاريخ:

الحل السهل من علي ويندوز
هوا وضع السطر في ملف باتش و من كنترول بانل ستجد وظائف مجدوله Scheduled Tasks انشئ و ظيفه جديده و حدد ميعاد التنفيذ
طبعا الكلام ده علي جهاز السيرفر او علي جهاز عليه اوراكل كلاينت
مع تمنياتي بالتوفيق

بتاريخ:

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

  • بعد 2 سنة...
بتاريخ:
سلام عليكم
ممكن تعملى data base trigger يتنفذ فى الوقت اللى انتى عايزاة



كيف ذلك يا أخ محمد ؟

يعني مثلا نريد تنفيذ دالة أو بروسيدير يوم 1/1/2009 مثلا الساعة 9 صباحا

هل لديك حل بالكود؟
بتاريخ:

السلام عليكم اخى العزيز احمد عبد المجيد

نعم هناك طريقة لتنفيذ اى كود على الداتابيز باستخدام jobs

وفيما يلى مثال لتنفيذ بروسيديور تدعى recur_trns

وهذا المثال وظيفته انشاء قيود دورية كل فترة

DECLARE
 X NUMBER;
BEGIN SYS.DBMS_JOB.SUBMIT
   ( job       => X 
    ,what      => 'RECUR_TRNS;'
    ,next_date => to_date('09/07/2009 06:00:00','dd/mm/yyyy hh24:mi:ss')
    ,interval  => 'TRUNC(SYSDATE+1)+6/24'
    ,no_parse  => TRUE
   );
 SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
END;
/

commit;

بتاريخ:

السلام عليكم ورحمة الله وبركاته
الحل بسيط جدا يا حبيبي في الله
بكل بساطة تعمل السطر ده بروسيدر علي الداتا بيز وبعد كده تتدخل علي التود هتلاقي حاجة اسمها JOB اكيد تعرف مكانها فين , لو متعرفهاش هتلاقيها قي البراوز (تابه لوحده ) بعد tables , views , ........ , users , job ومن خلالها هتلاقيها بسيطة جدا تختار بس البروسيدر اللي انت عايزه يرن وتختار معاد التنفيذ بكل سهولة ,
ارجو ان اكون افدتك .
خالد جاد
Oracle Developer
مصر الحبيبة

بتاريخ:

كلام جميل جدا

بتاريخ:

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

سأقوم بعمل JOB تحوي pROCEDURE لارسال بريد مثلا بشرط معين

ارسال بريد موضوع لي علي منتدي ادارة قواعد البيانات


أولا jOB (لا بد أن يكون لك صلاحية من مدير قواعد البيانات أو عملها من SYS USER)

begin dbms_scheduler.create_job(
job_name => 'mail_remind'
,job_type => 'PLSQL_BLOCK'
,job_action => 'begin p1(); end;'
,repeat_interval => 'FREQ=MINUTELY; INTERVAL=2'
,enabled => TRUE
,auto_drop => FALSE
,comments => 'Test job');
end;
/



البروسيدر

CREATE OR REPLACE procedure p1 as cursor user_remind is
SELECT ACTV_CODE,ACTV_DESC , ACTV_START_DATE,ACTV_END_DATE,USER_SHORT_NAME,USER_EMAIL_ID,ACTV_REMIND_DATE
FROM USER_TASK_REMINDER,USER_DATA WHERE TO_date(ACTV_REMIND_DATE,'dd/mm/yyyy hh24:mi') <=SYSDATE AND ACTV_CURR_STATUS_CODE NOT IN (3) AND nvl(ACTV_REMIND_MTHD_CODE,3)=1 AND ACTV_ACCOUNTABLE_USER_ID = USER_ID;
crlf VARCHAR2(2) := chr(13)||chr(10);
begin for i in user_remind loop
utl_mail.send('[email protected]',i.USER_EMAIL_ID,null,null,' ICTD Reminder- Auto Message',
'Mr. '||i.USER_SHORT_NAME|| crlf ||crlf ||
'ICTD HelpDesk reminds you task number '||i.ACTV_CODE||crlf ||crlf ||
'Subject is '||i.ACTV_DESC||crlf ||crlf ||
'Remind Date/Time is '||i.ACTV_REMIND_DATE||crlf ||crlf ||
'Thanks'||crlf ||crlf ||
'Automatic reminder message',
'text/plain; charset=windows-1256',3);
end loop;
exception 
when others then
null;
end;
/


JOB WILL SEND THE MAIL EVERY DAY AT THE SAME TIME YOU CREATED THE JOB FOR DELAYED TASKS

بالتوفيق
أحمد

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

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

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

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

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

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.