Comment puis-je créer dynamiquement un programme de travail dans un déclencheur?
-
30-09-2019 - |
Question
Je suis en train de créer un système de bibliothèque.
Quand un livre est réservé, je le veux changer automatiquement le statut de retour à « Disponible » en 3 jours si l'utilisateur réservé n'emprunte pas.
Je peux créer un déclencheur au feu lorsque l'état est changé pour « Réservé » mais je suis perdu sur la création d'un emploi à se produire en 3 jours et changer l'arrière d'état « Disponible »
Les commentaires, conseille et des conseils seront grandement appréciés:)
La solution
Vous devez d'abord créer une procédure pour mettre à jour la colonne que vous voulez, en prenant comme paramètre d'entrée l'identifiant du livre (ou tout autre chose que PK).
Dans votre déclencheur, appelez la procédure soumettre du paquet DBMS_SCHEDULER et définir la date de début en 3 jours le temps, sans Redondance et d'exécuter votre procédure définie précédemment avec:. New.bookid comme paramètre d'entrée
Une fois la transaction être engagée plus tard, le travail sera soumis. Sinon, en cas d'annulation de la transaction, le travail sera annulée ainsi.
Nicolas.
Autres conseils
quelle langue vous codez en?
En général, quelque chose comme ça j'écris une tâche cron qui irait périodiquement (une fois par jour avant les heures de bibliothèque?), Faire une requête pour voir tout ce qui a été réservé à plus de 3 jours, et le ramener à la disposition.