2017-10-19 8 views
0

J'ai une logique dans ma base de données qui bloquera les modifications apportées à une table après qu'un statut 'Terminé' soit défini. Ceci est actuellement implémenté via un déclencheur AFTER UPDATE.Identifier si un déclencheur de mise à jour a été déclenché par ON UPDATE CASCADE

Cependant, j'ai aussi une clé étrangère ON UPDATE CASCADE pour l'un des champs de la table, qui devrait pouvoir réussir. Actuellement, il est bloqué par le déclencheur UPDATE.

Ma question est donc:
    1. Est-il possible de détecter dans le déclencheur qu'il est tiré par un ON UPDATE CASCADE?
    2. Est-il possible de régler le déclenchement de ne pas tirer un ON UPDATE CASCADE

Répondre

0
  1. Pas directement, donc pas
  2. n °

Pour être honnête, c'est la sorte de problème que vous obtenez lorsque vous ne considérez pas tous les chemins. Il y a toujours des tâches administratives/de maintenance qui ne sont pas prises en compte lors du développement. Alors peut-être est-il temps de repenser ce design. Si quelque chose est "terminé", pourquoi peut-il être supprimé via l'option cascade? Cela fait-il partie de certaines opérations de purge/maintenance? Si c'est le cas, cela pourrait être votre clé pour débloquer une solution. Ce search contient des suggestions pour utiliser context_info.