Comment spécifier un déclencheur qui vérifie si les données insérées dans un attribut de clé étrangère de table existent réellement dans la table de références. S'il existe, aucune action ne devrait être effectuée, sinon le déclencheur devrait supprimer le tuple inséré. Par exemple: Envisager d'avoir 2 tables R (clé primaire A) et S (clé primaire B, A, clé étrangère, références R (A)).Arrêter des données invalides dans un attribut avec une contrainte de clé étrangère en utilisant des déclencheurs?
J'ai écrit un déclencheur comme celui-ci:
Create Trigger DelS
BEFORE INSERT ON S
FOR EACH ROW
BEGIN
Delete FROM S where New.A <> (Select * from R;));
End;
Je suis sûr que je fais une erreur en spécifiant la sous requête interne dans les blocs Begin et fin de la détente. Ma question est comment puis-je faire un tel déclenchement?
http://dev.mysql.com/tech-resources/articles/mysql-enforcing-foreign-keys.html –