Wie erstelle ich dynamisch einen Job Zeitplan in einem Trigger?
-
30-09-2019 - |
Frage
Ich bin ein Bibliothekssystem zu schaffen.
Wenn ein Buch reserviert ist, ich will es automatisch den Status wieder ändern „Verfügbar“ in 3 Tagen, wenn der reservierte Benutzer es nicht ausleihen.
kann ich einen Trigger Feuer erzeugen, wenn der Status auf „Reserved“ geändert wird, aber ich bin auf die Schaffung eines Job verloren in 3 Tagen passieren und den Status wieder auf „verfügbar“ ändern
Jede Kommentare, berät und Beratung wird sehr geschätzt:)
Lösung
Sie sollten zunächst eine Prozedur erstellen, um die Spalte zu aktualisieren, wie Sie wollen, nehmen als Eingabeparameter Buch-ID (oder was auch immer als PK).
In den Trigger, rufen Sie die Prozedur von dbms_scheduler Paket vorlegen und das Startdatum in 3 Tagen Zeit definieren, ohne Redundanz und Ihre Prozedur auszuführen definierte früher mit dem. New.bookid als Eingangsparameter
Sobald die Transaktion später begangen wird, wird der Auftrag eingereicht werden. Else, der Job bei Rollback der Transaktion wird auch zurückgesetzt.
Nicolas.
Andere Tipps
welche Sprache kodieren Sie?
Generell gilt für so etwas wie dies schreibe ich einen cron-Job, der regelmäßig (vor Bibliothek Stunden einmal täglich?) Laufen würde, führen Sie eine Abfrage, alles zu sehen, die für mehr als 3 Tage reserviert sind schon, und legen Sie es auf zur Verfügung zurück.