كيف أقوم بإنشاء جدول عمل ديناميكي في الزناد؟
-
30-09-2019 - |
سؤال
أقوم بإنشاء نظام مكتبة.
عندما يتم حجز كتاب ، أريد أن يقوم تلقائيًا بتغيير الحالة إلى "متاح" في 3 أيام إذا لم يقترض المستخدم المحجوز.
يمكنني إنشاء مشغل لإطلاق النار عندما يتم تغيير الحالة إلى "محفوظة" ، لكنني ضائع عند إنشاء وظيفة لحدوثها في 3 أيام وتغيير الحالة إلى "متاح"
سيتم تقدير أي تعليقات وتقديم المشورة والتوجيه إلى حد كبير :)
المحلول
يجب عليك أولاً إنشاء إجراء لتحديث العمود كما تريد ، مع معلمة إدخال معرف الكتاب (أو أي شيء آخر مثل PK).
في المشغل الخاص بك ، اتصل بإجراء إرسال حزمة DBMS_SCHEDULER وتحديد تاريخ البدء في غضون 3 أيام ، دون التكرار ، ولتشغيل الإجراء المحدد سابقًا مع: new.bookid كمعلمة إدخال.
بمجرد الالتزام بالمعاملة في وقت لاحق ، سيتم تقديم المهمة. وإلا ، في حالة التراجع عن المعاملة ، سيتم إعادة المهمة أيضًا.
نيكولاس.
نصائح أخرى
ما هي اللغة التي ترميزها؟
بشكل عام ، بالنسبة لشيء مثل هذا ، أكتب وظيفة cron التي ستعمل بشكل دوري (مرة واحدة في اليوم قبل ساعات المكتبة؟) ، قم بإجراء استعلام لرؤية كل ما تم تخصيصه لأكثر من 3 أيام ، وإعادته إلى متاح.