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 :

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 |
Donc si quelqu'un aurait la gentillesse de bien vouloir m'aider un peu , 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 !