Bonjour, je suis débutante en trigger et procédure stockée, et dans le cadre de mon projet je dois certainement en créer un.
L'utilisateur doit importer directement un fichier txt dans MySql qui sera stocké dans la table intermédiaire "table_int", suite à cette importation, cela déclenche le trigger permettant la mis à jour de la seconde table "table_def" (construit exactement de la même manière), la mis à jour doit modifier la ligne par la nouvelle (importer) si l'id est le même, où bien insérer une nouvelle ligne si la clé primaire n'a pas était trouvé.
Et je bloque vraiment pour la construction de ce trigger. Je ne sais pas trop comment mis prendre, en algorithme je pense ne pas être très loin de la solution, mais après je ne sais pas trop comment le mettre en SQL (parcours d'une autre table etc...)
Voici l'algo :
Donc si quelqu'un aurait la gentillesse de bien vouloir m'aider un peu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 CREATE TRIGGER maj_donnees AFTER INSERT ON table_int FOR EACH ROW DECLARE trouve BOOLEAN BEGIN ligne = "SELECT id FROM table_def"; POUR CHAQUE ligne trouve = FALSE; SI ligne.id = NEW.id ALORS trouve = TRUE; FIN SI FIN POUR CHAQUE SI (trouve = TRUE) ALORS UPDATE table_def SET ch1 = NEW.val1, ch2 = NEW.val2, ch3 = NEW.val3... WHERE id = NEW.id; SINON INSERT INTO table_def (ch1, ch2, ch3...) VALUES (NEW.val1, NEW.val2, NEW.val3...); END |, j'ai déjà regarder sur des forums et tuto à droite à gauche mais je bloque vraiment, je ne sais même pas si ce que je dois faire est possible...
Merci d'avance !
Partager