[MySQL] MAJ d'une table avec trigger et conditions
MAJ d'une table avec trigger et conditions [MySQL] - SQL/NoSQL - Programmation
MarshPosté le 10-09-2020 à 02:25:54
Bonjour,
Je suis encore assez novice, jusque maintenant j'ai réussi à me débrouiller dans mon projet tout seul, mais la je galère
J'ai donc une table 'modifications' qui stocke des données devant être modifiées suite à une demande utilisateur :
id - id_person - type_person - date_demande - tel_modif - pass_modif - status
Un système de validation se charge de faire passer le dernier champ 'status' de 0 à 1, c'est à ce moment la que je veux que mon trigger mette à jour une des 2 tables contenant les données à modifier : une table 'étudiants' et une table 'entreprises'.
Les données qu'il faut passer d'une table à l'autre se situent soit dans ' tel_modif ' soit dans ' pass_modif ' soit dans les deux (les 2 champs peuvent être null).
J'aimerais obtenir quelque chose dans ce genre en charabia pseudo-code :
CREATE TRIGGER modif AFTER UPDATE ON modifs FOR EACH ROW
BEGIN SI statut = 1 SI type_person = ' etudiant ' SI tel_modif != NULL UPDATE table etudiants OU id etudiant = id_person (de la table modifs) SI pass_modif != NULL Même chose que pour telephone
SI type_person = ' entreprise ' idem que pour étudiant END
Message édité par b_b_rodriguez le 10-09-2020 à 02:27:14
Marsh Posté le 10-09-2020 à 02:25:54
Bonjour,
Je suis encore assez novice, jusque maintenant j'ai réussi à me débrouiller dans mon projet tout seul, mais la je galère
J'ai donc une table 'modifications' qui stocke des données devant être modifiées suite à une demande utilisateur :
id - id_person - type_person - date_demande - tel_modif - pass_modif - status
Un système de validation se charge de faire passer le dernier champ 'status' de 0 à 1, c'est à ce moment la que je veux que mon trigger mette à jour une des 2 tables contenant les données à modifier : une table 'étudiants' et une table 'entreprises'.
Les données qu'il faut passer d'une table à l'autre se situent soit dans ' tel_modif ' soit dans ' pass_modif ' soit dans les deux (les 2 champs peuvent être null).
J'aimerais obtenir quelque chose dans ce genre en charabia pseudo-code :
CREATE TRIGGER modif
AFTER UPDATE ON modifs
FOR EACH ROW
BEGIN
SI statut = 1
SI type_person = ' etudiant '
SI tel_modif != NULL
UPDATE table etudiants OU id etudiant = id_person (de la table modifs)
SI pass_modif != NULL
Même chose que pour telephone
SI type_person = ' entreprise '
idem que pour étudiant
END
Message édité par b_b_rodriguez le 10-09-2020 à 02:27:14